1
A
回答
2
设置你的控制器为代表的文本字段,并检查提议的字符串满足您的要求:
override func viewDidLoad() {
super.viewDidLoad()
textField.delegate = self
textField.keyboardType = .decimalPad
}
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
guard let oldText = textField.text, let r = Range(range, in: oldText) else {
return true
}
let newText = oldText.replacingCharacters(in: r, with: string)
let isNumeric = newText.isEmpty || (Double(newText) != nil)
let numberOfDots = newText.components(separatedBy: ".").count - 1
let numberOfDecimalDigits: Int
if let dotIndex = newText.index(of: ".") {
numberOfDecimalDigits = newText.distance(from: dotIndex, to: newText.endIndex) - 1
} else {
numberOfDecimalDigits = 0
}
return isNumeric && numberOfDots <= 1 && numberOfDecimalDigits <= 2
}
0
伙计们,这里的解决方案:
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let dotString = "."
if let text = textField.text {
let isDeleteKey = string.isEmpty
if !isDeleteKey {
if text.contains(dotString) {
if text.components(separatedBy: dotString)[1].count == 2 {
return false
}
}
}
}
}
相关问题
- 1. Swift文本字段(IOS,Xcode 7.3,Swift 2):4位数字的用户密钥。如何将输入限制为数字并将数字位数限制为4
- 2. 如何限制Swift中2个文本字段中的数字?
- 3. 如何限制文本框在小数点后显示2位数?
- 4. SSRS文本框条目限制字符
- 5. 如何将存储在cookie中的数字限制在2个小数位?
- 6. 将django FloatField限制为2位小数
- 7. 如何在Swift中同时限制2个文本视图的字符数?
- 8. 将文本框限制为1位小数。 Winform C#
- 9. 如何将C#中的文本框中的数字舍入为2位小数?
- 10. 在Python浮点操作中将小数位数限制为2
- 11. 在MVC中,TextBoxFor如何限制为2位小数?
- 12. 如何将EditText长度限制为7个整数和2个小数位?
- 13. 如何将sql限制中的AVG函数的小数位数设置为2?
- 14. 如何在获得评分时将平均值限制在2位小数位?
- 15. 限制HTML文本框中的十进制条目
- 16. 允许小数限制为2的文本框使用javascript
- 17. 如何在此sql查询中将小数位数限制为2?
- 18. 如何将价格限制在2个小数点
- 19. 将.toFixed(2)放在脚本中的位置限制为2 decimel
- 20. 如何只将文本框条目的最后4位数字插入到数据库中?
- 21. 将所有计算的文本框小数位舍入为2
- 22. 将输入类型数字限制为2角度2中的小数位数
- 23. 如何限制文本框
- 24. 限制Excel中的文本框条目UserForm
- 25. 如何限制列表框中的最大数值(条目)
- 26. 较小的十进制小数位数从4到2小数位
- 27. 如何控制文本框的宽度和小数位?
- 28. 如何限制WP7中的文本框大小?
- 29. 如何在ColdFusion中将数字截断为2个小数位?
- 30. 如何限制在字母数字文本框中输入9位数字
使用'UITextFieldDelegate'” s'shouldChangeCharactersIn' +将小数点转到X位置 – nathan