round() în Python

Funcții încorporate Python 3.0+

Rotunjește un număr la cel mai apropiat întreg sau la un număr de zecimale.

Sintaxă
round(numar, ndigits=None)

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.