舍入-在Python中舍入到小数点后第二位
如何在python中将数字四舍五入到小数点后第二位? 例如:
0.022499999999999999
应该四舍五入到0.12
0.1111111111111000
Should round up to 0.12
如果在小数点后第三位有任何值,我希望它总是四舍五入,使我在小数点后留下2个值。
user1202589 asked 2020-07-20T00:23:15Z
9个解决方案
47 votes
Python包含round()函数,可让您指定所需的位数。 从文档中:
round(x, 2)
返回浮点数x,小数点后四舍五入为n位数字。 如果省略n,则默认为零。 结果是一个浮点数。 将值四舍五入为乘幂n的最接近的10的倍数; 如果两个倍数相等地接近,则四舍五入要远离0(例如,round(0.5)为1.0,round(-0.5)为-1.0)。
因此,您可能希望使用round(x, 2)进行正常的舍入。 为确保数字始终被四舍五入,您需要使用ceil(x)函数。 同样,要四舍五入,请使用floor(x)。
simchona answered 2020-07-20T00:23:33Z
26 votes
from math import ceil
num = 0.1111111111000
num = ceil(num * 100) / 100.0
看到:
round文档
round文档-无论如何,您可能仍需要检查一下以备将来参考