更新时间: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 :-))