Formatting 在SwiftUI中,带逗号的十进制数如何转换为十进制(点)?

Formatting 在SwiftUI中,带逗号的十进制数如何转换为十进制(点)?,formatting,decimal,swiftui,calculation,Formatting,Decimal,Swiftui,Calculation,如果插入逗号,如何将文本字段格式化,以便将插入的十进制值示例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 = Intr

如果插入逗号,如何将文本字段格式化,以便将插入的十进制值示例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)
            }
}
之所以会出现这个问题,是因为在许多国家,大多数使用逗号,这打破了计算


谢谢

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

这个应该有帮助。

我建议您阅读并使用带有双备份存储的自定义字符串绑定

具体阅读此处的更新:-)

这里有使用后端双倍编号的自定义字符串绑定的完整示例