Funkcja round () zwraca liczbę zmiennoprzecinkową zaokrągloną do określonej liczby miejsc po przecinku.
Składnia round()
funkcji to:
round (liczba, ncyfry)
round () Parametry
round()
Funkcja ma dwa parametry:
- liczba - liczba do zaokrąglenia
- ndigits (opcjonalne) - liczba, do której zaokrąglana jest podana liczba; domyślnie 0
Wartość zwracana z rundy ()
- Jeśli
ndigits
nie jest podana,round()
zwraca najbliższą liczbę całkowitą podaną. - Jeśli
ndigits
podano,round()
zwraca liczbę zaokrągloną dondigits
cyfr.
Przykład 1: Jak działa round () w Pythonie?
# for integers print(round(10)) # for floating point print(round(10.7)) # even choice print(round(5.5))
Wynik
10 11 6
Przykład 2: Zaokrąglij liczbę do podanej liczby miejsc dziesiętnych
print(round(2.665, 2)) print(round(2.675, 2))
Wynik
2,67 2,67
Uwaga : zachowanie round()
dla pływaków może być zaskakujące. Zawiadomienie round(2.675, 2)
podaje 2.67
zamiast oczekiwanego 2.68
. To nie jest błąd: wynika to z faktu, że większości ułamków dziesiętnych nie można przedstawić dokładnie jako liczby zmiennoprzecinkowej.
Kiedy ułamek dziesiętny 2.675
jest konwertowany na binarną liczbę zmiennoprzecinkową, jest on ponownie zastępowany binarnym przybliżeniem, którego dokładna wartość to:
2.67499999999999982236431605997495353221893310546875
W związku z tym jest zaokrąglany w dół do 2,67.
Jeśli jesteś w sytuacji, w której ta precyzja jest potrzebna, rozważ użycie decimal
modułu, który jest przeznaczony do arytmetyki zmiennoprzecinkowej:
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))
Wynik
2,67 2,68