Je suis assez nouveau au développement de l'iPhone et j'ai ce qui semble être une question simple que je ne comprends pas. Comment puis-je vérifier qu'un utilisateur entrait un numéro et une décimale dans le champ de texte? p>
J'ai essayé de nombreuses choses différentes, mais la fermeture que je peux obtenir uniquement les chaînes numériques de la forme: 5,34 ou 23,89. J'en ai besoin pour permettre des chiffres tels que; 0,50 ou 432.30, juste quelque chose avec un zéro comme dernière valeur d'entrée. J'ai tenté de vérifier l'entrée de la chaîne en la convertissant à un flotteur, puis de retour à une chaîne, mais obtenez les résultats susmentionnés. p>
Toute aide serait géniale (même avec le code exemple!) Merci! P>
3 Réponses :
La question que Dave Delong essayait de poster est 1320295 et semble très pertinente. Cela semble être une ancienne question, vous avez probablement trouvé votre solution, serait bien si vous partagez que ce sera tout =) p>
Vous pouvez lancer le contenu de votre zone de texte dans le float et le formater à l'aide du code ci-dessous:
textField:shouldChangeCharactersInRange:replacementString:
J'ai eu une exigence similaire et la solution s'est finalement révélée être assez triviale. Malheureusement, de nombreuses questions et réponses liées à cette question concernent la validation ou la mise en forme des valeurs numériques, pas contrôlant strong> ce qu'un utilisateur pourrait saisir. La mise en œuvre suivante de la méthode de déléguement de DoppantCharactersinrange est ma solution. Comme toujours, les regularexpressions rock dans cette situation. Regexlib.com est une excellente source pour les regex utiles. Je ne suis pas un gourou de regex et je lutt toujours un peu les posant ensemble pour que toutes les suggestions pour améliorer sont les bienvenues. P> Le code ci-dessus permet à l'utilisateur de saisir ce type de Valeurs: 1, 1.1, 1.11, .1, .11 P> P>
Celui-ci transmet également des flotteurs négatifs @ "^ (-)? ([0-9] +)? (\\. ([0-9] {1,2})?)? $"
Votre lien mène nulle part ...