检查NSString是整数还是双精度

时间:2011-09-03 07:34:20

标签: objective-c nsstring integer double

如何检查我的NSString * val是否有整数或浮点数?原始的方法是寻找“。” character..but有更优雅的方法吗?

1 个答案:

答案 0 :(得分:8)

首先,试试[NSScanner scanInt:] && [NSScanner isAtEnd]。如果它返回YES,那么你有一个int。只要它可以将流解释为int,scanInt将向前扫描。如果isAtEnd为YES,那么整个字符串可以解释为int(所以你有一个int)。

否则,请尝试[NSScanner scanDouble:]。如果它返回YES,那么你有一个双倍。

如果两者都返回NO,那么你就没有。