Ce face round()
Fără ndigits, round() returnează un int. Cu ndigits, returnează un număr cu atâtea zecimale; o valoare negativă rotunjește la zeci, sute etc.
La jumătate exactă, Python rotunjește la numărul par cel mai apropiat (rotunjirea bancherului): round(2.5) dă 2, iar round(3.5) dă 4. În plus, unele zecimale nu sunt reprezentate exact, deci round(2.675, 2) dă 2.67. Pentru rotunjirea „ca la școală” a sumelor de bani folosește decimal.Decimal cu ROUND_HALF_UP.
Parametri
| Parametru | Descriere |
|---|---|
numar |
Numărul de rotunjit. |
ndigits |
Opțional. Numărul de zecimale păstrate (poate fi negativ). |
Ce returnează
Un int (fără ndigits) sau un număr de același tip cu numar.
Exemple
Exemplul 1: Rotunjiri uzuale
print(round(3.14159, 2))
print(round(7.6))
print(round(1234.5, -2))
print(round(2.5), round(3.5), round(-2.5))
Rezultat
3.14
8
1200.0
2 4 -2
Exemplul 2: Rotunjirea sumelor de bani cu Decimal
from decimal import Decimal, ROUND_HALF_UP
print(round(2.675, 2))
suma = Decimal("2.675").quantize(Decimal("0.01"), rounding=ROUND_HALF_UP)
print(suma)
Rezultat
2.67
2.68
Greșeli frecvente
- Te aștepți ca
round(2.5)să dea 3. Python rotunjește la par și dă 2. - Folosești
round()doar pentru afișare. Dacă vrei doar să arăți 2 zecimale, formatează:f"{x:.2f}", fără să schimbi valoarea.
Comenzi înrudite
math.floor(), math.ceil() și math.trunc(): Rotunjire în jos, în sus sau prin tăierea zecimalelor, la un număr întreg.int(): Tipul numerelor întregi; int() transformă un text sau un număr zecimal în număr întreg.f-string (f"..."): Șiruri de caractere în care pui direct variabile și expresii între acolade.format(): Formatează o singură valoare după un șablon: zecimale, aliniere, separatori, baze.