SwiftUI中如何将带逗号的十进制数转换为小数(Point)?
Posted
技术标签:
【中文标题】SwiftUI中如何将带逗号的十进制数转换为小数(Point)?【英文标题】:How can a decimal number with a comma be converted in a decimal (Point) in SwiftUI? 【发布时间】:2020-03-10 19:53:14 【问题描述】:如何格式化插入逗号的文本字段,以便插入的十进制值示例 10,05$ 可以转换为小数(点)10.05$?
private static let Intrest = "Intrest"
private static let Repayment = "Repayment"
var loan: Double
let intrest = Double (Intrest)
let repayment = Double (Repayment)
let Loan = Intrest + Repayment
return Loan
var body: some View
VStack
HStack
Text ("Repayment %")
Spacer()
TextField("2 %", text: $Repayment)
.keyboardType(.decimalPad)
VStack
HStack
Text ("Loan / month")
TextField("2 %", text: $Loan)
.keyboardType(.decimalPad)
之所以会出现此问题,是因为在许多国家/地区大多使用逗号,这会破坏计算。
谢谢
【问题讨论】:
【参考方案1】:您需要确保将字符串转换为带点的双精度而不是逗号。
这个应该有帮助。 Swift playground - How to convert a string with comma to a string with decimal
【讨论】:
【参考方案2】:我建议您阅读Textfield not updating 并使用带有双后存储的自定义字符串绑定。
具体阅读那里的更新:-)
自定义字符串绑定与后端双数的完整示例用法在这里https://gist.github.com/op183/24607b6309f7d1ea8f3aaf02d17e4ed3
【讨论】:
以上是关于SwiftUI中如何将带逗号的十进制数转换为小数(Point)?的主要内容,如果未能解决你的问题,请参考以下文章
Javascript如何将十进制数转换为具有特定小数位数的字符串
将十进制转换为小数点后两个零的字符串,和逗号? C# [重复]