iPhone NSString

发布于 2024-11-04 06:32:42 字数 36 浏览 4 评论 0原文

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

I just wanted to know how i can determine whether a NSString string has a number.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

身边 2024-11-11 06:32:42

您可以使用[NSNumberFormatter numberFromString: s];,如果它不是数字,它将返回nil。

NSString *s = @"2.5";

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

如果 numnil,则它不是数字。

链接到文档 NSNumberFormatterStyle

You can use [NSNumberFormatter numberFromString: s]; and it will return nil if it is not a number.

NSString *s = @"2.5";

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

If num is nil it is not a number.

Link to docs on NSNumberFormatterStyle

旧梦荧光笔 2024-11-11 06:32:42

查看 NSNumberFormatternumberFromString: 方法。

Check out NSNumberFormatter's numberFromString: method.

郁金香雨 2024-11-11 06:32:42

您可以使用正则表达式检查字符串是否包含数字

    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");
    }

You can check whether a string has a number or not by using regex

    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");
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文