在带有 AND 且不带小数点的标签中显示双打

Showing Doubles in Labels with AND without the decimal-point

要查看最佳答案,请向下滚动到 Paulw11 的答案。

(对于任何英语错误,我深表歉意,这不是我的第一语言)

我需要解决这个问题才能继续开发我的应用程序。

Here,我截图了。 (我知道,这很丑,我正在设置约束。)

问题是:即使数字是整数,它仍然显示为有理数。 (例如:4 显示为 4.0,16 显示为 16.0)

我想要的是:

我不希望发生的事情:

如果有任何帮助,我将不胜感激,谢谢。

你想要这样的东西吗?

let numberA: Float = 1.234
let numberB: Float = 7.000

func getStringFromNumber(number: Float) -> String {
    if number - Float(Int(number)) == 0 {
        return String("\(Int(number))")
    } else {
        return String("\(number)")
    }
}

print(getStringFromNumber(numberA)) // console output: 1.234
print(getStringFromNumber(numberB)) // console output: 7

您可以简单地使用 %g 格式化选项:

deltaValueS.text = String(format:"∆ é %g",deltaValue)
  • 对于 4.0,这将给出“∆ é 4”
  • 对于 4.123 这将给出“∆ é 4.123”