【发布时间】:2018-06-08 18:32:58
【问题描述】:
让值:Float = 5.678434 让 roundedValue = round(value * 100) / 100
roundedValue 浮点数 5.6784339
如何获得 5.67 或 5.68?
【问题讨论】:
-
由于二进制浮点数的精度有限(请参阅stackoverflow.com/questions/588004/…),结果可能与 5.68 不同,但应该接近 5.68 而不是 5.6784339。你确定你打印的是正确的变量吗?
-
我这里也是5.68,不知道你检查是否正确。另外,也许用
roundf而不是round检查。 -
如果你想正确地四舍五入到小数点后第n位,你应该使用
Decimal,而不是Float。