如果我得到数字 46,我想四舍五入到最接近的十位。我如何在 python 中执行此操作?
46 到 50.
round
确实采用负 ndigits
参数!
>>> round(46,-1)
50
可以解决你的问题。
math.ceil()
四舍五入,然后乘以10
蟒蛇2
import math
def roundup(x):
return int(math.ceil(x / 10.0)) * 10
Python 3(唯一的区别是您不再需要将结果转换为
int
)
import math
def roundup(x):
return math.ceil(x / 10.0) * 10
使用只需做
>>roundup(45)
50
这是一种方法:
>>> n = 46
>>> (n + 9) // 10 * 10
50
这也将正确向下舍入:
>>> n = 46
>>> rem = n % 10
>>> if rem < 5:
... n = int(n / 10) * 10
... else:
... n = int((n + 10) / 10) * 10
...
>>> 50