如何将整数向上舍入到10的倍数
我找到了如何将一个小数向上或向下取整到下一个或上一个整数,但我遇到了一个问题:
假设我有这些数字:
12
11
10
27
29
25
16
我想把它们向上取整到最接近的10。如果数字的最后一位是0,那就不处理它。
我看到过类似的代码,但它们是向下取整:
import math
math.ceil(12)
round(12)
期望的输出结果:
20
20
10
30
30
30
20
3 个回答
-2
def roundup(n):
n = n - n % 10
return n
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。
0
有点简单粗糙,但:
def roundup10( n ):
if n % 10 == 0: return n
else : return n + 10 - n % 10
for x in [ 12, 11, 10, 27, 29, 25, 16 ]: print( roundup10( x ) )
输出结果:
20
20
10
30
30
30
20
0
你在寻找数学库里的 ceil
函数:https://docs.python.org/3/library/math.html#math.ceil
你可以把想要的数字精度作为参数,把这个数字除以 10 的相应次方,然后再把结果乘回去,这样就可以把数字四舍五入到特定的小数位数。例如:
math.ceil(13 / 10) * 10 = 20