Python:
Zaokrąglanie liczb

Jak to zrobić:

Oto podstawowe informacje o zaokrąglaniu liczb w Pythonie:

# Zaokrąglenie liczby do najbliższej liczby całkowitej
print(round(8.67))  # Wyświetla: 9

# Zaokrąglenie liczby do określonej liczby miejsc dziesiętnych
print(round(8.67, 1))  # Wyświetla: 8.7

# Parzyste liczby są zaokrąglane w dół, a nieparzyste liczby są zaokrąglane w górę, gdy są równo oddalone
print(round(2.5))  # Wyświetla: 2
print(round(3.5))  # Wyświetla: 4

Pogłębiona analiza

W Pythonie round() nie polega tylko na obcinaniu miejsc dziesiętnych. Historycznie, Python, podobnie jak wiele innych języków, stosuje “zaokrąglenie do najbliższej parzystej” lub “zaokrąglenie bankierskie”. Minimalizuje to kumulatywny błąd w sumach lub średnich, co ma znaczenie w obliczeniach finansowych.

Jako alternatywy, dostępne są math.floor() i math.ceil() z modułu matematycznego Pythona, które obniżają lub podwyższają liczby do najbliższej całkowitej. Ale jeśli szukasz precyzji, quantize() z modułu decimal pozwala określić zachowanie przy zaokrąglaniu.

W tle, round() radzi sobie z liczbami zmiennoprzecinkowymi binarnymi. Ponieważ niektóre dziesiętne nie mogą być dokładnie wyrażone w binarnie, możesz się zdziwić, gdy takie coś jak round(2.675, 2) nie stanie się 2.68, jak oczekiwano. Tu na ratunek przychodzą decimal lub fractions dla wysokiej precyzji.

Zobacz także