如何使小数位数总是向上取整

2024-09-29 23:29:34 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我遇到了麻烦,我的代码是:

foo = float(0.21)
bar = float(0.871929)

foobar = foo * bar
Rfoobar = round(foobar,2)

这给了我:

^{pr2}$

但我希望Rfoobar是0.19, 当有余数时,它总是向上取整,我该怎么做?在

我读过math.ceiling,但在我的例子中,这似乎并没有起到作用。在

非常感谢任何帮助。在


Tags: 代码foobarmathfloat例子foobarround
2条回答

也可以在舍入前加0.005:

>>> for foobar in 0.1831, 0.1801, 0.1800:
        print(foobar, '->', round(foobar + 0.005, 2))

0.1831 -> 0.19
0.1801 -> 0.19
0.18 -> 0.18

只需在调用ceil前后移动小数点:

from math import ceil

Rfoobar = ceil(foobar * 100) / 100

如果小数位数不同,可以执行以下操作:

^{pr2}$

相关问题 更多 >

    热门问题