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

时间:2011-10-06 01:41:38

标签: objective-c xcode4

我见过这个question,但已经2岁了。是否有更好的\更容易\更新的方法来检查字符串是否具有数值。例如1或1.54或-1或-1.54等等。

2 个答案:

答案 0 :(得分:7)

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

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

如果status == YES,则字符串为完全数字。

或者@Dave指出SO answer

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

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

答案 1 :(得分:-1)

您可以使用[NSString floatValue]