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

How do i round integers to the highest multiple of 10, not rounding down just round up, in python

我已经坚持了一段时间,我遇到过许多不同的舍入函数,但它们舍入浮点数或上下舍入,我正在寻找一种方法,即使数字是 61 也可以四舍五入它四舍五入到 70,有什么办法可以在 python

中做到这一点

您正在寻找始终向上取整的上限函数

import math

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

print (roundupby(61, 10))

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

ceil(61 / 10) * 10

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

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

只需使用模运算符。

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