首页 > 解决方案 > 如何在 SwiftUI 中将带逗号的十进制数转换为小数(Point)?

问题描述

插入逗号的文本字段如何格式化,以便插入的十进制值示例 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)
            }
}

之所以会出现此问题,是因为在许多国家/地区大多使用逗号,这会破坏计算。

谢谢

标签: formattingdecimalswiftuicalculation

解决方案


您需要确保将字符串转换为带点而不是逗号的双精度。

这个应该有帮助。 Swift Playground - 如何将带逗号的字符串转换为带小数的字符串


推荐阅读