Funkcija round () vraća broj s pomičnom zarezom zaokružen na navedeni broj decimala.
Sintaksa round()
funkcije je:
okrugli (broj, nigrice)
okrugli () parametri
round()
Funkcija traje dva parametra:
- broj - broj koji treba zaokružiti
- ndigits (nije obavezno) - broj do kojeg se zaokružuje zadani broj; zadane vrijednosti 0
Povratna vrijednost iz kruga ()
- Ako
ndigits
nije navedeno,round()
vraća najbliži cijeli broj na zadani broj. - Ako
ndigits
je zadano,round()
vraća zaokruženi broj nandigits
znamenke.
Primjer 1: Kako round () djeluje u Pythonu?
# for integers print(round(10)) # for floating point print(round(10.7)) # even choice print(round(5.5))
Izlaz
10 11 6
Primjer 2: Zaokružite broj na zadani broj decimalnih mjesta
print(round(2.665, 2)) print(round(2.675, 2))
Izlaz
2,67 2,67
Napomena : Ponašanje round()
for floats može biti iznenađujuće. Obavijest round(2.675, 2)
daje 2.67
umjesto očekivanog 2.68
. Ovo nije bug: rezultat je činjenice da većina decimalnih razlomaka ne može biti predstavljena točno kao float.
Kada se decimalni znak 2.675
pretvori u binarni broj s pomičnom zarezom, opet se zamjenjuje binarnom aproksimacijom čija je točna vrijednost:
2.67499999999999982236431605997495353221893310546875
Zbog toga je zaokružen na 2,67.
Ako ste u situaciji u kojoj je potrebna ova preciznost, razmislite o upotrebi decimal
modula koji je dizajniran za aritmetiku s pomičnom zarezom:
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))
Izlaz
2,67 2,68