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

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, які “тащать” числа вниз або вгору до наступного цілого числа. Але якщо вам потрібна точність, decimal модуль з quantize() дозволяє вказати поведінку округлення.

Під капотом, round() працює з двійковими числами з плаваючою точкою. Оскільки деякі десяткові числа не можуть бути точно виражені в двійковій формі, ви можете отримати сюрпризи з таким як round(2.675, 2) яке не стає 2.68, як очікувалося. В таких випадках вдаються до decimal або fractions для високої точності.

Дивіться також