欢迎关注
最酷最in的云资讯

iOS判断一个字符串是否全是数字

最近有一个需求,需要判断后台返回的字段是否全部是数字.首先想到的事正则,还有就是NSCharacterSet,但是NSCharacterSet不怎么会用.(等过两天,我就写文章将这个).
于是就上网查了查.果然还有别的方法.
大概也就三种方法:

  1. 正则.

- (BOOL) judgeIsNumberByRegularExpressionWith:(NSString *)str{   if (str.length == 0) {        return NO;    }    NSString *regex = @"[0-9]*";    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];    if ([pred evaluateWithObject:str]) {        return YES;    }    return NO;}
  1. 使用NSCharacterSet.
    stringByTrimmingCharactersInSet函数可以把我们指定的特殊字符过滤掉,进而判断剩下的内容,如果是空,说明全部是数字.

 - (BOOL)theStringIsAllNumbers:(NSString *)str {    str = [str stringByTrimmingCharactersInSet:[NSCharacterSet decimalDigitCharacterSet]];    if(str.length > 0) {        return NO;    }    return YES;}

3.用NSScanner类来判断
NSScanner是一个类,用于在字符串中扫描指定的字符。
想详细了解,可以参考NSScanner类条件判断利器详解

- (BOOL) theStringIsAllNumbers:(NSString*)str{    NSScanner* scan = [NSScanner scannerWithString: str];    int val;    return[scan scanInt:&val] && [scan isAtEnd];}

作者:iOS_xuanhe
链接:https://www.swifty.cc/p/5ac504c28ec6

赞(0) 打赏
未经允许不得转载:云微资讯 » iOS判断一个字符串是否全是数字
分享到: 更多 (0)

云微资讯 科技新媒体资讯平台

关于我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏