Funkcija round () vrne število s plavajočo vejico, zaokroženo na določeno število decimalnih mest.
Sintaksa round()
funkcije je:
krog (število, števke)
parametri round ()
round()
Funkcija ima dva parametra:
- številka - številka, ki jo je treba zaokrožiti
- ndigits (neobvezno) - število, do katerega je zaokroženo dano število; privzeto je 0
Vrnjena vrednost iz round ()
- Če
ndigits
ni na voljo,round()
vrne najbližje celo število na dano številko. - Če
ndigits
je podana,round()
vrne zaokroženo število nandigits
števke.
Primer 1: Kako round () deluje v Pythonu?
# for integers print(round(10)) # for floating point print(round(10.7)) # even choice print(round(5.5))
Izhod
10 11 6
Primer 2: Število zaokroži na določeno število decimalnih mest
print(round(2.665, 2)) print(round(2.675, 2))
Izhod
2,67 2,67
Opomba : Vedenje round()
for floats je lahko presenetljivo. Obvestilo round(2.675, 2)
daje 2.67
namesto pričakovanega 2.68
. To ni napaka: rezultat je dejstva, da večine decimalnih ulomkov ni mogoče predstaviti natančno kot float.
Ko se decimalna 2.675
vrednost pretvori v binarno število s plavajočo vejico, se znova nadomesti z binarnim približkom, katerega natančna vrednost je:
2.67499999999999982236431605997495353221893310546875
Zaradi tega je zaokrožen navzdol na 2,67.
Če ste v situaciji, ko je potrebna ta natančnost, razmislite o uporabi decimal
modula, ki je zasnovan za aritmetiko s plavajočo vejico:
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))
Izhod
2,67 2,68