【问题标题】:Swift NumberFormatter if value is 0 return empty string如果值为 0,则 Swift NumberFormatter 返回空字符串
【发布时间】:2021-11-30 11:18:20
【问题描述】:

我有以下代码:

struct Food {
    var name: String
    var energy: Float = 0
    var water: Float = 0
}
struct FoodItemView: View {
    
    @State var newFoodItem = Food(name: "")
    private var numberFormatter = NumberFormatter()

    var body: some View {
        Form {
            Section(header: Text("Basics").fontWeight(.bold)) {
                TextField("Name", text: $newFoodItem.name)
                TextField("Energy (C)", value: $newFoodItem.energy, formatter: numberFormatter)
                .keyboardType(.numberPad)
                TextField("Water (g)", value: $newFoodItem.water, formatter: numberFormatter)
        }
    }
}
               

如果绑定值为 0,我的 TextFields 中显示的值将是一个空字符串,而不是显式显示 0,我该如何做到这一点?

【问题讨论】:

    标签: swift swiftui view numberformatter


    【解决方案1】:

    设置NumberFormatter.zeroSymbol属性。

    struct FoodItemView: View {
        
        @State var newFoodItem = Food(name: "")
        private var numberFormatter = NumberFormatter()
        
        init() {
            numberFormatter.zeroSymbol = "" //<< Here
        }
    
    // Other Code
    

    【讨论】:

    • 太棒了!谢谢!有一个 API 真是太酷了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2015-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多