我如何将整数舍入到10的最高倍数,而不是在python中向上舍入

时间:2015-12-15 11:43:24

标签: python math rounding

我已经坚持了一段时间,我遇到了许多不同的圆形功能,但它们是圆形浮动或上下圆形,我正在寻找一种方法只是为了向上舍入,即使数字是61然后轮到高达70,有没有办法在python

中做到这一点

4 个答案:

答案 0 :(得分:2)

您可以使用模数运算符,它将给定的数字除以产生余数:

def rounder(num, d):
    return num - num % -d

结果:

>>> print(*('{}: {}'.format(n, rounder(n, 10)) for n in range(15)), sep='\n')
0: 0
1: 10
2: 10
3: 10
4: 10
5: 10
6: 10
7: 10
8: 10
9: 10
10: 10
11: 20
12: 20
13: 20
14: 20

答案 1 :(得分:1)

我认为这应该可以正常工作

ceil(61 / 10) * 10

答案 2 :(得分:0)

您正在寻找天花板功能,它总是向上舍入

import math

def roundupby(n, by):
    return math.ceil(n / by) * by

print (roundupby(61, 10))

答案 3 :(得分:0)

只需使用模运算符。

number += (number%10) and (10 - number%10)