iPhone 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

我只是想知道如何确定NSString是否有一个数字。

签出的
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