Я застрял на этом некоторое время, я сталкивался со многими различными функциями округления, но они округляют числа с плавающей точкой или округляются вверх и вниз, я ищу способ просто округлить число, даже если число равно 61, тогда оно округляется до 70 Есть ли способ, которым я могу сделать это в Python

-4
Kylo ren 15 Дек 2015 в 14:43

4 ответа

Лучший ответ

Я думаю это должно работать нормально

ceil(61 / 10) * 10
1
barner_j 15 Дек 2015 в 11:48

Вы можете использовать оператор модуля, который делит данные числа и производит остаток:

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
2
TigerhawkT3 15 Дек 2015 в 23:05

Просто используйте оператор по модулю.

number += (number%10) and (10 - number%10)
1
tglaria 15 Дек 2015 в 12:24

Вы ищете функцию потолка, которая всегда округляется

import math

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

print (roundupby(61, 10))
1
Adam Benzan 15 Дек 2015 в 11:47