Python Glossary English

все 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Сообщить о неточности