在Python中将浮点数向上取整至$.01
我正在做一个程序,这个程序把数字存储为浮点数,最后会把它们写入文件作为货币。现在我用的是round()函数,把数字四舍五入到小数点后两位,但业务部门希望我无论第三位小数是什么,都能向上进位到下一个分。例如:
x = 39.142
在这个例子中,我想把x进位到39.15。很明显,当我使用round函数时,得到的是39.14...
>>> round(x, 2)
39.14
有没有办法让我总是向上进位到下一个分呢?我还要提一下,我处理的这些数字是以货币的形式打印到文件里的。
3 个回答
0
虽然我来得有点晚,但如果有人想要一个简单的Python 3的一行代码:
import math
x_rounded = math.ceil(x*100) / 100
1
如果你想把金额写成美分,可以用这个方法:int(x*100+.5)。这样可以把浮动的小数形式的美元转换成整数形式的美分。