检查NSString是整数还是双精度

Vij*_*A B 3 double integer objective-c nsstring

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

Ale*_*ill 8

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

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

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