你如何四舍五入一个数字?

新手上路,请多包涵

如何在 Python 中将数字向上舍入?

我尝试了 round(number) 但它四舍五入了数字。例子:

 round(2.3) = 2.0

而不是我想要的 3。

我试过 int(number + .5) 但它再次将数字向下舍入!例子:

 int(2.3 + .5) = 2

原文由 bodacydo 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 344
2 个回答

math.ceil (上限)函数返回大于或等于 x 的最小整数。

对于 Python 3:

 import math
print(math.ceil(4.2))

对于 Python 2:

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

原文由 Steve Tjoa 发布,翻译遵循 CC BY-SA 4.0 许可协议

我知道这个答案是针对不久前的一个问题,但如果您不想导入数学而只想汇总,这对我有用。

 >>> int(21 / 5)
4
>>> int(21 / 5) + (21 % 5 > 0)
5

如果有余数,则第一部分变为 4,第二部分计算为“True”,另外 True = 1; False = 0。因此,如果没有余数,则它保持相同的整数,但如果有余数,则加 1。

原文由 user3074620 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进