9
votes

Comment vérifier l'entrée dans UITEXTFIELD (I.E., Entrée numérique)

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?

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.

Toute aide serait géniale (même avec le code exemple!) Merci!


1 commentaires

Votre lien mène nulle part ...


3 Réponses :


1
votes

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 =)


0 commentaires

1
votes

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:


0 commentaires

13
votes

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 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. xxx

Le code ci-dessus permet à l'utilisateur de saisir ce type de Valeurs: 1, 1.1, 1.11, .1, .11


1 commentaires

Celui-ci transmet également des flotteurs négatifs @ "^ (-)? ([0-9] +)? (\\. ([0-9] {1,2})?)? $"