为什么int(0.9)舍入为0?

时间:2017-05-27 18:58:45

标签: python rounding

我注意到当我输入int(0.9)时,它变为0而不是1。

我只是想知道为什么Python不会对数字进行舍入。

4 个答案:

答案 0 :(得分:3)

int没有以您期望的方式执行舍入,它将舍入为0,round函数将舍入到您提供的最接近的整数或位置。

>>> int(0.9)
0
>>> int(-0.9)
0
>>> round(12.57)
13
>>> round(12.57, 1)
12.6

答案 1 :(得分:2)

如果使用int函数,它会忽略小数点并为您提供整数部分。因此,如果要对数字进行舍入,请使用round函数。

答案 2 :(得分:2)

  

如果x是浮点数,则转换将截断为零。

来源:docs

答案 3 :(得分:2)

简单:因为int()作为" floor" ,它只是削减而不是四舍五入。或者作为" ceil"对于负值。

您想要使用 round()功能。