繁体   English   中英

将Python中的数字如1.23舍入为2 [重复]

[英]Round up numbers such as 1.23 to 2 in Python [duplicate]

请告诉我如何在Python中四舍五入。

如果我有1.47,如何将其四舍五入到2? 或者如果我有10.13,如何将其四舍五入到11?

答案是对round(round(1.47, 1))是正确的,但是还有另一种方法可以对这些数字进行取整吗?

math模块中有一个名为ceil的函数。

>>> import math
>>> print math.ceil(1.47)
2.0

如果要整数

>>> import math
>>> print int(math.ceil(1.47))
2

显然使用math.ceil ,但是无论如何这是一个有趣的选择:

>>> [-(-x//1) for x in 1.47, 10.13, 2.0]
[2.0, 11.0, 2.0]

还有一个更短/更好的:

>>> [0--x//1 for x in 1.47, 10.13, 2.0]
[2.0, 11.0, 2.0]

--0-- x//1 ,请参阅下面的@MarkDickinson的注释。

如果需要int ,则应用int(...) ,我将保留它们,以显示“浮点数的整数除法”并保持其可见状态。

您将要使用math上限函数,即ceil

import math
print math.ceil(1.47)

将产生2.0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM