我注意到当我输入int(0.9)
时,它变为0而不是1。
我只是想知道为什么Python不会对数字进行舍入。
答案 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()功能。