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

时间:2015-08-12 19:22:15

标签: ios swift

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

2 个答案:

答案 0 :(得分:2)

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

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

if(numOfDecimals > 1)
{
    // do something
}

答案 1 :(得分:0)

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

  1. UITextFieldDelegate添加到您的班级声明中。
  2. viewDidLoad方法中添加以下行:

    yourTextField.delegate = self
    
  3. 最后将以下方法添加到您的班级:

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