gpt4 book ai didi

ios - 如何在 swift 4 中将文本字段条目限制为小数点后两位?

转载 作者:搜寻专家 更新时间:2023-10-30 21:48:12 24 4
gpt4 key购买 nike

我有一个文本字段,我想将条目限制为最多 2 位小数。

12.34 这样的数字是允许的,但 12.345 是不允许的

我该怎么做?

最佳答案

将您的 Controller 设置为文本字段的委托(delegate),并检查建议的字符串是否满足您的要求:

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
}

关于ios - 如何在 swift 4 中将文本字段条目限制为小数点后两位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45443289/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com