【问题标题】:Checking if NSString is Integer [duplicate]检查 NSString 是否为整数 [重复]
【发布时间】:2012-08-27 14:55:35
【问题描述】:

可能重复:
NSString is integer?

我正在寻找一个字符串是否只有数字。基本上:

if (string is integer):
   #do whatever
else:
   #error

我该怎么做?谢谢!

【问题讨论】:

    标签: iphone ios sdk


    【解决方案1】:

    我用过[NSCharacterSet decimalDigitCharacterSet]。绝对运作良好。

    NSCharacterSet* notDigits = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
    
    if ([newString rangeOfCharacterFromSet:notDigits].location == NSNotFound)
    {
    // newString consists only of the digits 0 through 9
    }
    

    【讨论】:

    • 刚试过这个,它不适用于十进制数:(
    【解决方案2】:
    -(BOOL)isANumber:(NSString *)string{
        NSPredicate *numberPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES '^[0-9]+$'"];
        return [numberPredicate evaluateWithObject:string];
    }
    

    【讨论】:

      猜你喜欢
      • 2011-01-02
      • 1970-01-01
      • 2011-03-30
      • 1970-01-01
      • 1970-01-01
      • 2021-07-14
      • 1970-01-01
      • 2014-11-29
      • 2016-02-18
      相关资源
      最近更新 更多