NSPredicate为小数字

时间:2011-06-29 00:34:12

标签: objective-c ios cocoa-touch nspredicate

有人可以给我NSPredicate验证字符串的格式: 1.至少一位数(0-9) 2.后面跟着“。(0-9)”中的一个或没有。

所以基本上我希望这样的字符串有效:

2.34
84
1.0
2314234
3214.23123

感谢。

1 个答案:

答案 0 :(得分:3)

一种方法是:

NSString *predicateString = @"[0-9]+\\.[0-9]$"; 
NSPredicate *numberTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", predicateString]; 
BOOL isNumber = [numberTest evaluateWithObject:string];

您可以使用NSPredicate方法NSScanner而不是- (BOOL)scanFloat:(float *)floatValue