Python - 四舍五入到最接近的十位[重复]

问题描述 投票:0回答:4

如果我得到数字 46,我想四舍五入到最接近的十位。我如何在 python 中执行此操作?

46 到 50.

python rounding
4个回答
181
投票

round
确实采用负
ndigits
参数!

>>> round(46,-1)
50

可以解决你的问题。


89
投票

可以用

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

26
投票

这是一种方法:

>>> n = 46
>>> (n + 9) // 10 * 10
50

16
投票

这也将正确向下舍入:

>>> n = 46
>>> rem = n % 10
>>> if rem < 5:
...     n = int(n / 10) * 10
... else:
...     n = int((n + 10) / 10) * 10
...
>>> 50
© www.soinside.com 2019 - 2024. All rights reserved.