【问题标题】:How can a decimal number with a comma be converted in a decimal (Point) in SwiftUI?SwiftUI中如何将带逗号的十进制数转换为小数(Point)?
【发布时间】: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)
            }
}

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

谢谢

【问题讨论】:

    标签: formatting decimal swiftui calculation


    【解决方案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

      【讨论】:

        猜你喜欢
        • 2019-07-20
        • 1970-01-01
        • 2021-07-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-19
        • 2014-02-15
        • 1970-01-01
        相关资源
        最近更新 更多