【 在 VincentGe 的大作中提到: 】
: 看文档
: round(number, ndigits=None)?
: 返回 number 舍入到小数点后 ndigits 位精度的值。 如果 ndigits 被省略或为 None,则返回最接近输入值的整数。
: ...................
这个确实是浮点数二进制表示带来的精度损失引起的。
python round函数还真不是银行家算法。
round(3.1405,3) --> 3.14
round(3.1425,3) --> 3.143
>>> format(3.1405, ".17f")
'3.14049999999999985'
>>> format(3.1425, ".17f")
'3.14250000000000007'
按银行家算法, 5后面是0, 应该看前面奇偶,2 应该保留, 不需要进位。
--
FROM 124.126.1.*