我想在python中得到四舍五入的整数?
Posted
技术标签:
【中文标题】我想在python中得到四舍五入的整数?【英文标题】:I want to get rounded int number in python? 【发布时间】:2016-03-04 11:37:47 【问题描述】:我有一个数字 120,然后除以 100。我得到 1.2,但实际上我想在 python 中只得到 2(不是 2.0)而不导入任何库。
有人可以帮忙吗???
【问题讨论】:
这不是***.com/q/14822184/270986 的完全重复,但该问题的答案已经回答了它。 【参考方案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
。)以上是关于我想在python中得到四舍五入的整数?的主要内容,如果未能解决你的问题,请参考以下文章