关于objective c:检查NSString是整数还是双精度

check if the NSString is integer or double

如何检查我的NSString * val是否有整数或浮点数? 原始的方法是寻找"。" character..but是否有更优雅的方式来做到这一点?


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

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

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