【发布时间】:2012-02-05 13:48:16
【问题描述】:
我正在开发一个将数字存储为浮点数的程序,我最终将其作为货币写入文件。我目前正在使用 round() 函数将其四舍五入到小数点后 2 位,但无论小数点后三位是多少,业务领域都希望我四舍五入到下一个便士。例如:
x = 39.142
在这种情况下,我试图将 x 舍入到 39.15。显然,当我做圆形功能时,我得到 39.14...
>>> round(x, 2)
39.14
有没有一种方法可以让我总是四舍五入到下一分钱?我应该提到我正在处理的数字作为货币打印到文件中。
【问题讨论】:
-
如果是货币,请不要使用浮点数。这只是自找麻烦。当然可以,但麻烦多于其价值。
-
@LanceCollins:您选择的答案大错特错。见我的 cmets。
标签: python floating-point currency rounding