2012-07-21 12 views
9

Duplicar posibles:
iPhone how to check that a string is numeric onlyiOS: ¿cómo puedo verificar si una cadena es numérica o no?

Estoy tratando de buscar alguna funcionalidad básica en Objective C, pero parece que no puede localizar la respuesta básica.

Lo que realmente necesito es comprobar

yo asumiría no sería más que algunas de ellas construidas en función de eso. ¿No?

Estoy viendo esta pregunta de StackOverflow How to check if NSString is numeric or not y parecen estar haciendo las cosas de la manera muy complicada.

¿Hay alguna verificación básica que pueda hacer en una línea simple?

Gracias!

+2

¡Defina "numérico"! ¿Solo están permitidos los dígitos? ¿Menos? Punto decimal? ¿Notación cientifica? Diferentes lugares? ¿Qué más ... –

+0

@NikolaiRuhe sí el número entero como 4536 – GeekedOut

Respuesta

37

¿Hay alguna verificación básica que pueda hacer en una línea simple?

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

Si desea permitir el intercambio de dígitos decimales scanInteger: por scanDouble:.

+0

Gracias :) funcionó. – GeekedOut

+0

¿Hay alguna penalización de rendimiento en esto como con un NSDateFormatter? – agarcian

+0

@agarcian No, NSScanner es bastante liviano. –

Cuestiones relacionadas