Python - округляется до ближайших десяти

Если я получу номер 46, и я хочу округлить до ближайшей десятки. Как это сделать в python?

46 - 50.

Ответ 1

Вы можете использовать math.ceil() для округления, а затем умножить на 10

import math

def roundup(x):
    return int(math.ceil(x / 10.0)) * 10

Использовать просто сделать

>>roundup(45)
50

Ответ 2

round принимает отрицательный параметр ndigits !

>>> round(46,-1)
50

может решить ваше дело.

Ответ 3

Вот один из способов сделать это:

>>> n = 46
>>> (n + 9) // 10 * 10
50

Ответ 4

Это также будет округлено правильно:

>>> n = 46
>>> rem = n % 10
>>> if rem < 5:
...     n = int(n / 10) * 10
... else:
...     n = int((n + 10) / 10) * 10
...
>>> 50