小编典典

在Python 3中,尾随小数点> = 0.5时math.ceil()和round()之间的算法区别是什么?

algorithm

在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

阅读 385

收藏
2020-07-28

共1个答案

小编典典

文档中

[…]如果两个倍数相等接近,则朝着偶数选择取整(例如,round(0.5)和round(-0.5)均为0,而round(1.5)为2)。

但是,math.ceil总是会“四舍五入”。即大于或等于输入的最小整数。

另外,roundmath.ceil上负数上执行时有很大的不同。

>>> math.ceil(-2.8)
-2
>>> round(-2.8)
-3
2020-07-28