在Python 3中,尾随小数点> = 0.5时math.ceil()和round()之间的算法区别是什么?
例如,
round(9.5) = 10 round(9.67) = 10 math.ceil(9.5) = 10 math.ceil(9.5) = 10
从文档中,
[…]如果两个倍数相等接近,则朝着偶数选择取整(例如,round(0.5)和round(-0.5)均为0,而round(1.5)为2)。
但是,math.ceil总是会“四舍五入”。即大于或等于输入的最小整数。
math.ceil
另外,round和math.ceil上负数上执行时有很大的不同。
round
>>> math.ceil(-2.8) -2 >>> round(-2.8) -3