如何检查字符串在Objective-C中是否包含有效数值?

时间:2011-09-03 04:45:15

标签: iphone objective-c cocoa-touch double

我正在进行比较:

 else if([change doubleValue] == 0 && indexPath.row == sectionRows - 1)

如何检查[change doubleValue]不返回任何内容的情况?

2 个答案:

答案 0 :(得分:4)

doubleValue方法无法返回任何内容。您可以检查的最小值是0。以下是 doubleValue 返回0的情况。

  1. string不包含有效数值。
  2. stringnil
  3. string实际上包含@"0"
  4. 检查有效号码
    使用NSPredicate测试字符串是否包含数值。

    NSString *str = @"sfas";
    NSString *regx = @"(-){0,1}(([0-9]+)(.)){0,1}([0-9]+)";
    NSPredicate *test = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regx];
    BOOL isAValidNumber = [test evaluateWithObject:str];
    

答案 1 :(得分:2)

请参阅NSScanner