如何检查用户是不是在文本字段中输入了超过 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 个小数?的主要内容,如果未能解决你的问题,请参考以下文章