如何在 Python 中将数字向上舍入?
我尝试了 round(number)
但它四舍五入了数字。例子:
round(2.3) = 2.0
而不是我想要的 3。
我试过 int(number + .5)
但它再次将数字向下舍入!例子:
int(2.3 + .5) = 2
原文由 bodacydo 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何在 Python 中将数字向上舍入?
我尝试了 round(number)
但它四舍五入了数字。例子:
round(2.3) = 2.0
而不是我想要的 3。
我试过 int(number + .5)
但它再次将数字向下舍入!例子:
int(2.3 + .5) = 2
原文由 bodacydo 发布,翻译遵循 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 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
2 回答873 阅读✓ 已解决
math.ceil (上限)函数返回大于或等于
x
的最小整数。对于 Python 3:
对于 Python 2: