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