iPhone NSString - PullRequest
       3

iPhone NSString

0 голосов
/ 29 апреля 2011

Я просто хотел узнать, как я могу определить, имеет ли строка NSString номер.

Ответы [ 3 ]

1 голос
/ 29 апреля 2011

Вы можете использовать [NSNumberFormatter numberFromString: s];, и он вернет ноль, если это не число.

NSString *s = @"2.5";

NSNumberFormatter * formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber * num = [formatter numberFromString:s];
[formatter release];

Если num равно nil, это не число.

Ссылка на документы в NSNumberFormatterStyle

0 голосов
/ 14 февраля 2015

Вы можете проверить, имеет ли строка номер или нет, используя регулярное выражение

    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");
    }
0 голосов
/ 29 апреля 2011

Проверка NSNumberFormatter numberFromString: метод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...