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