iOS:检查文本字段文本

发布于 2024-11-28 06:01:58 字数 130 浏览 1 评论 0原文

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

In a textfield I should write a number: this number can be with point (10.23) or without poin (10); but I should to check that this number is a number and not a word. Can I check if in a textfield there is a number instead a word?
Example: if I write a word instead a number I want an nslog that say that there is an error.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

蓝梦月影 2024-12-05 06:01:58

另一种方式:

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

另请记住,您可以使用 textField.keyboardType = UIKeyboardTypeNumberPad; 作为键盘。 (这并不能保证仅输入数字,但这只是为了用户友好性。)

Another way:

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

Also remember that you can use textField.keyboardType = UIKeyboardTypeNumberPad; for the keyboard. (This won't guarantee only numeric entries, however, it's just about user friendliness.)

苹果你个爱泡泡 2024-12-05 06:01:58

查看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

Check out NSScanner: https://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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文