Python okrągły ()

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 ndigitsnie jest podana, round()zwraca najbliższą liczbę całkowitą podaną.
  • Jeśli ndigitspodano, round()zwraca liczbę zaokrągloną do ndigitscyfr.

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.67zamiast 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.675jest 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 decimalmoduł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

Interesujące artykuły...