Jak zaokrąglić liczbę do 2 miejsc po przecinku w Pythonie?

Aby zaokrąglić liczbę do 2 miejsc po przecinku w Pythonie, najczęściej stosuje się funkcję round(), nowoczesne formatowanie napisów oraz narzędzia bibliotek takich jak decimal. Każda z tych metod odpowiada na inne potrzeby – od prezentacji danych po precyzyjne obliczenia finansowe.

1. Zaokrąglanie liczb w Pythonie – podstawy

Zaokrąglanie jest operacją zamiany liczby dziesiętnej na liczbę z określoną liczbą cyfr po przecinku, zgodnie z zasadami matematycznymi. To ważne w niemal każdym projekcie obliczeniowym, szczególnie w finansach, naukach ścisłych czy aplikacjach bazujących na pomiarach.

2. Podstawowe narzędzie: funkcja round()

Najprostszym sposobem zaokrąglenia liczby do dwóch miejsc po przecinku jest użycie wbudowanej funkcji round()

x = 3.14159
x_rounded = round(x, 2) # Wynik: 3.14

Funkcja ta przyjmuje dwa argumenty:

  • Pierwszy – liczba do zaokrąglenia;
  • Drugi (opcjonalny) – liczba miejsc po przecinku; domyślnie 0.

Przykłady

round(3.1415, 2)    # 3.14
round(123.456, 1)   # 123.5
round(123.456, -1)  # 120.0 (do "pełnych 10")

Uwaga – wynik funkcji round() z drugim argumentem zwraca typ float, nawet jeśli wynik jest „pełny”.

3. Formatowanie wyniku – wyświetlanie 2 miejsc po przecinku

Często liczy się nie tylko precyzja obliczeń, ale prezentacja wyniku (np. w analizach lub na stronach www).

A. Klasyczne formatowanie napisów (procentowe):

x = 9.5877
print("Wynik to %.2f" % x) # Wynik to 9.59

Znak %.2f oznacza „float z dwoma miejscami po przecinku”.

B. Formatowanie przez .format():

x = 9.5877
print("Wynik to {:.2f}".format(x)) # Wynik to 9.59

C. Formatowanie za pomocą f-string (od Pythona 3.6):

x = 9.5877
print(f"Wynik to {x:.2f}") # Wynik to 9.59

Każda z tych metod zaokrągla wynik w trakcie wyświetlania – oryginalna wartość zmiennej pozostaje bez zmian.

4. Różnica między zaokrągleniem a „ucięciem” miejsc po przecinku

  • round() stosuje matematyczne zaokrąglenie, np. 2.675 – 2.68, bo 5 „w górę”.
  • Formatowanie tekstowe (%.2f, {:.2f}) prezentuje wynik zaokrąglony, jednak w niektórych przypadkach, ze względu na sposób reprezentowania liczb zmiennoprzecinkowych, mogą pojawić się niewielkie różnice wyświetlania wyników.

5. Precyzja a obliczenia finansowe – biblioteka decimal

Standardowy typ float w Pythonie może prowadzić do błędów precyzji (np. 0.1+0.2!=0.3 dokładnie). Jeśli liczby mają mieć absolutną dokładność, warto użyć decimal.Decimal

from decimal import Decimal, ROUND_HALF_UP
x = Decimal('2.675')
x_rounded = x.quantize(Decimal('0.01'), rounding=ROUND_HALF_UP) # 2.68

Metoda quantize() pozwala wskazać dokładną liczbę miejsc po przecinku oraz sposób zaokrąglania („ROUND_HALF_UP” to klasyczne „zaokrąglanie w górę” przy 5).

6. Podsumowanie i praktyczne wskazówki

  • round(x, 2) – matematycznie zaokrągli liczbę i zwróci float;
  • f-string ({x:.2f}) lub .format(„{:.2f}”) – zaokrągli tylko na potrzeby wyświetlania, bez zmiany oryginalnej wartości;
  • decimal.Decimal + quantize() – kiedy zależy Ci na precyzji, np. w finansach;
  • Pamiętaj o ograniczeniach typu float – błędy precyzji mogą być niewidoczne przy typowym zaokrąglaniu, ale istotne w obliczeniach łańcuchowych czy finansowych.

7. Przykłady praktyczne

# Zaokrąglenie różnych liczb
num = 15.236
print(round(num, 2))                # 15.24
print(f"{num:.2f}")                 # 15.24
print("{:.2f}".format(num))         # 15.24

from decimal import Decimal, ROUND_HALF_UP
value = Decimal('15.235')
print(value.quantize(Decimal('0.01'), rounding=ROUND_HALF_UP)) # 15.24

8. Typowe błędy i pułapki

  • Prezentacja ≠ wartość – formatowanie tekstowe nie zmienia pierwotnej liczby;
  • Float ≠ dokładne wartości dziesiętne – 0.1+0.2==0.3 zwraca False!;
  • Zaokrąglenie a ucinanie – jeśli potrzebujesz „odciąć” bez zaokrąglania, użyj np. podzielenia przez 100 i mnożenia.

Przykład (ucięcie):

int(15.237 * 100) / 100 # 15.23

Wybór odpowiedniej metody zaokrąglania do dwóch miejsc po przecinku w Pythonie zależy od tego:

  • czy priorytetem jest prezentacja,
  • czy dokładność obliczeń,
  • czy współpraca z innymi systemami.

Dzięki powyższym narzędziom można skutecznie dopasować sposób zaokrąglenia do każdej potrzebnej sytuacji.

Programista i twórca serwisu Creative Coding, absolwent Politechniki Warszawskiej (WEiTI). Od 10+ lat łączy front‑end, grafikę generatywną i narzędzia dla twórców; opublikował 120+ projektów i artykułów, prowadził warsztaty dla 2 000+ uczestników. Pracuje z JavaScriptem, Three.js, P5.js i GLSL, bada wydajność i dokumentuje procesy, tworząc praktyczne przewodniki dla osób łączących kod z obrazem, dźwiękiem i interakcją.
Zostaw komentarz

Komentarze

Brak komentarzy. Dlaczego nie rozpoczniesz dyskusji?

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *