且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何检查字符串的内容是否为数值?

更新时间:2023-11-28 22:12:10

bool status;
NSScanner *scanner;
NSString *testString;
double result;

scanner = [NSScanner scannerWithString:testString];
status = [scanner scanDouble:&result];
status = status && scanner.scanLocation == string.length;

如果 status == YES 那么字符串是全数字的.

If status == YES then the string is fully numeric.

或者正如@Dave 指出的那样SO答案:

Or as @Dave points out from this SO answer:

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
number = [formatter numberFromString:string];
status = number != nil;

(我没有泄漏,我正在使用 ARC :-))

(I'm not leaking, I'm using ARC :-))