2012-07-21 6 views
9

Possible en double:
iPhone how to check that a string is numeric onlyiOS - comment vérifier si une chaîne est numérique ou non?

Je suis en train de regarder certaines fonctionnalités de base en Objective C, mais ne peut pas sembler trouver la réponse de base.

Ce que je vraiment besoin est de vérifier

Je suppose qu'il serait juste une fonction intégrée pour cela. Non?

Je regarde cette question StackOverflow How to check if NSString is numeric or not et ils semblent faire les choses de manière très compliquée.

N'y a-t-il pas une vérification de base que je peux faire en une seule ligne?

Merci!

+2

Définir "numérique"! Est-ce que seuls les chiffres sont autorisés? Moins? Point décimal? Notation scientifique? Des lieux différents? Quoi d'autre ... –

+0

@NikolaiRuhe ouais nombre entier comme 4536 – GeekedOut

Répondre

37

N'y a-t-il pas une vérification de base que je peux faire en une seule ligne?

No.

NSScanner *scanner = [NSScanner scannerWithString:testString]; 
BOOL isNumeric = [scanner scanInteger:NULL] && [scanner isAtEnd]; 

Si vous souhaitez autoriser les chiffres décimaux échange scanInteger: par scanDouble:.

+0

Merci :) cela a fonctionné. – GeekedOut

+0

Existe-t-il une pénalité de performance sur ce comme avec un NSDateFormatter? – agarcian

+0

@agarcian Non, NSScanner est assez léger. –

Questions connexes