La funzione round () restituisce un numero a virgola mobile arrotondato al numero di decimali specificato.
La sintassi della round()funzione è:
round (numero, ndigits)
round () Parametri
La round()funzione accetta due parametri:
- numero - il numero da arrotondare
- ndigits (opzionale) - numero fino al quale viene arrotondato il numero specificato; il valore predefinito è 0
Valore restituito da round ()
- Se ndigitsnon viene fornito,round()restituisce il numero intero più vicino al numero specificato.
- Se ndigitsviene fornito,round()restituisce il numero arrotondato allendigitscifre.
Esempio 1: come funziona round () in Python?
 # for integers print(round(10)) # for floating point print(round(10.7)) # even choice print(round(5.5))
Produzione
10 11 6
Esempio 2: arrotondare un numero al numero di cifre decimali specificato
 print(round(2.665, 2)) print(round(2.675, 2))
Produzione
2.67 2.67
Nota : il comportamento di round()for float può essere sorprendente. L'avviso round(2.675, 2)dà 2.67invece del previsto 2.68. Questo non è un bug: è il risultato del fatto che la maggior parte delle frazioni decimali non può essere rappresentata esattamente come un float.
Quando il decimale 2.675viene convertito in un numero binario a virgola mobile, viene nuovamente sostituito con un'approssimazione binaria, il cui valore esatto è:
2.67499999999999982236431605997495353221893310546875
A causa di ciò, viene arrotondato a 2,67.
Se ti trovi in una situazione in cui è necessaria questa precisione, considera l'utilizzo del decimalmodulo, progettato per l'aritmetica in virgola mobile:
 from decimal import Decimal # normal float num = 2.675 print(round(num, 2)) # using decimal.Decimal (passed float as string for precision) num = Decimal('2.675') print(round(num, 2))
Produzione
2.67 2.68








