检测NSString是否为浮点数

Max*_*me 7 ios

我试图检测一个NSString它是一个浮点数,例如:@" - 73.041382"

但是当我尝试使用这种方法时,我得到了错误的结果:

-(bool) isNumeric:(NSString*) checkText{

NSNumberFormatter* numberFormatter = [[[NSNumberFormatter alloc] init] autorelease];
NSNumber* number = [numberFormatter numberFromString:checkText];
if (number != nil) {
    return true;
}
return false;
Run Code Online (Sandbox Code Playgroud)

}

有人有想法!?

谢谢

Max*_*me 10

我找到了答案:

-(bool) isNumeric:(NSString*) checkText{

NSNumberFormatter* numberFormatter = [[[NSNumberFormatter alloc] init] autorelease];
//Set the locale to US
[numberFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];
//Set the number style to Scientific
[numberFormatter setNumberStyle:NSNumberFormatterScientificStyle];
NSNumber* number = [numberFormatter numberFromString:checkText];
if (number != nil) {
    return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)

谢谢!


See*_*ega 7

-(bool) isNumeric:(NSString*) checkText{
   return [[NSScanner scannerWithString:checkText] scanFloat:NULL];
}
Run Code Online (Sandbox Code Playgroud)

我目前不在Mac上,所以我无法检查它,希望它有所帮助