iPhone NSString
我只是想知道如何确定NSString是否有一个数字。签出的iPhone NSString,iphone,nsstring,Iphone,Nsstring,我只是想知道如何确定NSString是否有一个数字。签出的numberFromString:方法。您可以使用[NSNumberFormatter numberFromString:s]如果不是数字,则返回nil NSString *s = @"2.5"; NSNumberFormatter * formatter = [[NSNumberFormatter alloc] init]; [formatter setNumberStyle:NSNumberFormatterDecimalStyle
numberFromString:
方法。您可以使用[NSNumberFormatter numberFromString:s]
如果不是数字,则返回nil
NSString *s = @"2.5";
NSNumberFormatter * formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber * num = [formatter numberFromString:s];
[formatter release];
如果num
为nil
则它不是一个数字
NSString *s = @"2.5";
NSNumberFormatter * formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber * num = [formatter numberFromString:s];
[formatter release];
链接到上的文档您可以使用正则表达式检查字符串是否有数字
NSString *search = @"23.3";
//regex for integer number -> ^[0-9]*$
//regex for integer and decimal number -> ^[0-9]+([\,\.][0-9]+)?$
NSString *pattern = @"(^[0-9]+([,.][0-9]+)?$)";
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:nil];
NSTextCheckingResult *match = [regex firstMatchInString:search options:0 range:NSMakeRange(0, search.length)];
if(match == nil){
NSLog(@"Not a number");
}else{
NSLog(@"Number");
}
我知道,尽管得不到任何帮助,但你可以用小代码来帮助我。您在NSString上调用它并检查结果是否为零。您是指
s
而不是@s
?