如何在Python中四舍五入一个数字向上?

我试过四舍五入,但它把数字四舍五入了。例子:

round(2.3) = 2.0 

而不是我想要的3。

我尝试了int(number + .5),但它再次四舍五入!例子:

int(2.3 + .5) = 2

当前回答

我的分享

我已经测试了print(-(-101 // 5)) = 21上面给出的例子。

现在来总结一下:

101 * 19% = 19.19

我不能用**,所以我把乘除展开:

(-(-101 //(1/0.19))) = 20

其他回答

我基本上是Python的初学者,但如果你只是想四舍五入而不是向下,为什么不这样做:

round(integer) + 1

我知道这是很久以前的事了,但我找到了一个非常有趣的答案,所以是这样的:

-round(-x-0.5)

这修复了边缘情况,适用于正数和负数,并且不需要任何函数导入

干杯

你可以这样使用round:

cost_per_person = round(150 / 2, 2)

  

的数学。函数返回大于或等于x的最小整数。

对于Python 3:

import math
print(math.ceil(4.2))

对于Python 2:

import math
print(int(math.ceil(4.2)))

毫无意义地做:

>>> round_up = lambda num: int(num + 1) if int(num) != num else int(num)
>>> round_up(2.0)
2
>>> round_up(2.1)
3