IOS:检查文本字段文本

时间:2011-08-05 13:38:56

标签: ios xcode numbers uitextfield

在文本字段中我应该写一个数字:这个数字可以是点(10.23)或没有点(10);但我应该检查这个数字是一个数字,而不是一个单词。我可以检查文本字段中是否有数字而不是单词? 示例:如果我写了一个单词而不是数字,我想要一个说有错误的nslog。

2 个答案:

答案 0 :(得分:3)

另一种方式:

NSString *string = @"684.14";
NSCharacterSet *decimalSet = [NSCharacterSet decimalDigitCharacterSet];
BOOL stringIsValid = ([[string stringByTrimmingCharactersInSet:decimalSet] isEqualToString:@""] || 
                      [[string stringByTrimmingCharactersInSet:decimalSet] isEqualToString:@"."]);

另请记住,您可以使用textField.keyboardType = UIKeyboardTypeNumberPad;作为键盘。 (这不仅仅保证数字条目,而是仅仅是用户友好性。)

答案 1 :(得分:0)

结帐NSScannerhttps://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSScanner_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40003726

if( [[NSScanner scannerWithString:@"-123.4e5"] scanFloat:NULL] )
    NSLog( @"\"-123.4e5\" is numeric" );
else
    NSLog( @"\"-123.4e5\" is not numeric" );
if( [[NSScanner scannerWithString:@"Not a number"] scanFloat:NULL] )
    NSLog( @"\"Not a number\" is numeric" );
else
    NSLog( @"\"Not a number\" is not numeric" );
// prints: "-123.4e5" is numeric
// prints: "Not a number" is not numeric