【问题标题】:I want to get rounded int number in python?我想在python中得到四舍五入的整数?
【发布时间】:2016-03-04 11:37:47
【问题描述】:

我有一个数字 120,然后除以 100。我得到 1.2,但实际上我想在 python 中只得到 2(不是 2.0)而不导入任何库。

有人可以帮忙吗???

【问题讨论】:

标签: python math


【解决方案1】:

您可以使用modulo 运算符来知道是否对结果进行四舍五入:

120//100 + (1 if 120%100 else 0)

【讨论】:

  • 真的很有帮助。谢谢!
  • 我很想知道投反对票的原因???有一些极端情况吗?
  • 不是我的反对意见,但我发现这不必要地分支。 -(-x // y) 是我在 Python 中进行“天花板除法”的首选方式。
  • @MarkDickinson:谢谢,我不知道那个。这显然更好。您应该将其添加为答案。
【解决方案2】:

您可以使用内置函数ceil()1.2 舍入到2,并使用内置函数int 将其转换为整数:

In [3]: int(ceil(120/100.0))
Out[3]: 2

【讨论】:

  • ceil 实际上是math.ceil,所以你必须import math
  • 有趣 - 我无法弄清楚为什么这在我的 IDE(Enthought Canopy)中有效。我还没有导入math.....
  • @gtlambert:如果您在 Canopy 内的 IPython 控制台中工作,那么您正在使用 PyLab 模式,其中已经预加载了许多数组处理和绘图原语。 (在这种情况下,您的 ceil 实际上是 numpy.ceil 而不是 math.ceil。)
猜你喜欢
  • 2011-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多