Swift 中数字中的小数位数



在下面的代码中,我通过根据某些 Toggles 是真还是假将不同的值相加来声明一个变量。当我尝试打印此变量时,它返回一个数字和一个小数,但后面跟着很多 0。有没有办法在数字后不显示零?

免责声明 我正在使用 Swift Playground

var rvalues = [6.5, 5.9, 5.3, 4.8, 4.2, 3.5, 3.1, 2.9, 1.75, 1.5, 1.2, 1.05, 0.92, 0.82, 0.75, 0.7]

var r0 : Double {
model.rvalues[(model.wearingMaskToggle ? 1:0) + (model.washingHandsToggle ? 2:0) + (model.quarantineToggle ? 8:0) + (model.coverMouthToggle ? 4:0)]
}

首先,如果你好奇这些 0 是从哪里来的,阅读浮点数学坏了吗? - 数组中的许多值不能精确地表示为双精度。

要解决显示问题,请使用正确设置minimumFractionDigitsmaximumFractionDigitsNumberFormatter

或者,使用Decimal来表示您的值。

最新更新