如何检查用户是不是在文本字段中输入了超过 1 个小数?

Posted

技术标签:

【中文标题】如何检查用户是不是在文本字段中输入了超过 1 个小数?【英文标题】:How do I check if the user has entered more than 1 decimal in a text field?如何检查用户是否在文本字段中输入了超过 1 个小数? 【发布时间】:2015-08-12 19:22:15 【问题描述】:

我创建了一个tipCalculator 应用程序,但如果用户输入一个带有多个小数点的数字,应用程序就会崩溃。我该如何解决这个问题?

【问题讨论】:

如果您愿意,请接受回答,谢谢 【参考方案1】:

一种简单的方法是测试文本字符串中的小数位数,如果多于 1,则提醒用户。

NSUInteger numOfDecimals = [[yourTextField.text componentsSeparatedByString:@"."] count] - 1;

if(numOfDecimals > 1)

    // do something

【讨论】:

【参考方案2】:

我建议阻止用户输入多个小数点。

    UITextFieldDelegate 添加到您的类声明中。

    在您的 viewDidLoad 方法中添加以下行:

    yourTextField.delegate = self
    

    最后将以下方法添加到您的类中:

    func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool 
        return textField.text?.componentsSeparatedByString(".").count <= 2
    
    

【讨论】:

以上是关于如何检查用户是不是在文本字段中输入了超过 1 个小数?的主要内容,如果未能解决你的问题,请参考以下文章

检查输入到文本字段的值是不是是给定范围内的整数

如何检查 ResultSet 中是不是存在字段?

如何实时检查文本字段输入?

如何检查CKEditor中是不是有一些文字?

Java 文本字段输入问题

在 AS3 中自动检测输入文本字段的值