все Python 3Арифметика и операторыфункция
round()
числа
Встроенная функция округления числа. С одним аргументом возвращает int; с ndigits — округляет до указанного количества знаков после запятой. Использует банковское (к ближайшему чётному) округление.
Синтаксис
round(number[, ndigits])
round(2.675, 2) вернёт 2.67, и виновато тут не банковское округление, а двоичный float: сохранённое значение чуть меньше десятичной записи 2.675. Для денег и отчётов берите decimal.Decimal и quantize(). Ещё тонкость: round(x) без ndigits даёт int, а round(x, 0) — float (2.0), так что «до целого» и «до нуля знаков» — не одно и то же.
Примеры
print(round(3.7)) # → 4
print(round(3.14159, 2)) # → 3.14
print(round(2.5)) # → 2 (банковское округление к чётному)
print(round(3.5)) # → 4 (банковское округление к чётному)
print(round(12345, -2)) # → 12300 (до сотен)
print(round(0.1 + 0.2, 10)) # → 0.3 (компенсация float погрешности)
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности