在 swift 中删除 double 的小数部分而不将其转换为 Int

Removing the decimal part of a double without converting it to Int in swift

我正在 ios 中制作一个计算器应用程序,我有一个计算 属性 如下所示。我想显示例如让显示值是一个整数,比如 3.0 我希望它显示为 3,当显示值不是像 3.4 这样的整数时,它应该保持不变。 display.text是计算器App用来显示数值的标签 我有一个这样的代码块:

 private var displayValue : Double {
            get {
               return Double(display.text!)!
            }
            set {
                display.text = String(newValue)
            }
        }

我推荐NumberFormatter,这个例子创建了一个可重复使用的格式化程序。

let decimalFormatter : NumberFormatter = {
    let formatter = NumberFormatter()
    formatter.numberStyle = .decimal
    return formatter
}()

private var displayValue : Double {
    get {
        return Double(display.text!)!
    }
    set {
        display.text = decimalFormatter.string(for: newValue)
    }
}