我有以下需求
Textfield应该将小数点限制为2个值。如果用户输入的数字没有任何";然后文本字段应该将值格式化为如下格式
。输入->导致这个数额
27→0.27
2765→27.65
如果用户输入"。"在文本框中,它的格式应该是这样的
0.27→0.27
27.65→27.65
27.6→27.60
感谢在这里,我为你做了辛苦的工作。这不是你想要的,但这是一个很好的开始。下次要详细说明你的问题是什么,以及你是如何自己解决的(什么没有成功,什么成功了,等等),而不仅仅是要求解决方案。
let inputs = ["2356", "232", "23.32", "00000.20"]
func removeDotsAndLeadingZeros(_ string: String) -> String {
return string
.replacingOccurrences(of: ".", with: "")
.replacingOccurrences(of: "^0*", with: "", options: .regularExpression)
}
func format(_ number: Double) -> String {
return String(format: "%.2f", number)
}
let noDots = inputs.map(removeDotsAndLeadingZeros)
let doubles = noDots.map { Double($0)! / 100 }
let formatted = doubles.map(format)
// prints ["23.56", "2.32", "23.32", "0.20"]
print(formatted)