Округление по модулю в питоне - PullRequest
0 голосов
/ 01 ноября 2018

Извиняюсь, если об этом спрашивали раньше, я не могу найти ответ в отношении произвольных кратных.

Мне бы хотелось, чтобы функция округляла число на кратные. Например, 17,4 будет округлено с кратностью от 5 до 15, где 17,6 приведут к 20.

Вот что я придумал:

def value_2_rounded_multiple(value, multiple=1):
    return round(value / multiple)  *  multiple

Это разумно, или есть лучший подход?

Это некоторый вспомогательный код для тестирования:

multiple = 5
shift = -0.1
val_ = (multiple / 2) + shift + 3 * multiple
print("{} becomes {}".format(val_, value_2_rounded_multiple(val_, multiple=multiple)))
...