SwiftUI中使用NumberFormatter来格式化TextField中的数字?

10 min read

您可以使用NumberFormatter来格式化TextField中的数字。以下是一个简单的示例,展示了如何将输入的数字格式化为美元货币格式:

struct ContentView: View {
    @State private var amount = 0.0
    let currencyFormatter: NumberFormatter = {
        let formatter = NumberFormatter()
        formatter.numberStyle = .currency
        return formatter
    }()

    var body: some View {
        TextField("Amount", value: $amount, formatter: currencyFormatter)
            .textFieldStyle(RoundedBorderTextFieldStyle())
            .padding()
    }
}

在上面的代码中,我们定义了一个currencyFormatter属性,该属性使用NumberFormatter来设置数字格式。然后,在TextField中,我们将amount绑定为输入值,并将currencyFormatter用作格式化程序。现在,当用户输入数字时,它将以美元货币格式呈现。