Округление чисел

Python:
Округление чисел

Как это сделать:

Вот краткая информация об округлении чисел в Python:

# Округление числа до ближайшего целого
print(round(8.67))  # Выводит: 9

# Округление числа до указанного количества десятичных знаков
print(round(8.67, 1))  # Выводит: 8.7

# Четные числа округляются вниз, а нечетные числа округляются вверх, когда они находятся на одинаковом расстоянии
print(round(2.5))  # Выводит: 2
print(round(3.5))  # Выводит: 4

Подробнее

В Python функция round() не просто отсекает десятичные знаки. Исторически Python, как и многие другие языки, следует правилу “округление к ближайшему четному” или “банковское округление”. Это минимизирует накопительную ошибку в суммах или средних значениях, что важно в финансовых расчетах.

В качестве альтернативы вы можете использовать math.floor() и math.ceil() из математического модуля Python, которые опускают или поднимают числа до следующего целого числа. Но если вам нужна точность, то функция quantize() из модуля decimal позволяет задать поведение округления.

Внутренне, round() работает с двоичными числами с плавающей точкой. Поскольку некоторые десятичные дроби не могут быть точно выражены в двоичной форме, вы можете столкнуться с неожиданностями, например, когда round(2.675, 2) не превращается в 2.68, как ожидалось. Здесь на помощь приходят decimal или fractions для высокой точности.

Смотрите также