Функцията round () връща число с плаваща запетая, закръглено до посочения брой десетични знаци.
Синтаксисът на round()
функцията е:
кръг (брой, цифри)
кръг () Параметри
Най- round()
функцията се извършва по два параметъра:
- число - числото, което ще се закръгли
- ndigits (по избор) - число, до което се закръглява даденото число; по подразбиране е 0
Върната стойност от кръг ()
- Ако
ndigits
не е предоставено,round()
връща най-близкото цяло число към дадения номер. - Ако
ndigits
е дадено,round()
връща закръгленото число доndigits
цифрите.
Пример 1: Как Round () работи в Python?
# for integers print(round(10)) # for floating point print(round(10.7)) # even choice print(round(5.5))
Изход
10 11 6
Пример 2: Закръглете число до дадения брой десетични знаци
print(round(2.665, 2)) print(round(2.675, 2))
Изход
2,67 2,67
Забележка : Поведението на round()
for floats може да бъде изненадващо. Известие round(2.675, 2)
дава 2.67
вместо очакваното 2.68
. Това не е грешка: това е резултат от факта, че повечето десетични дроби не могат да бъдат представени точно като плувка.
Когато десетичният знак 2.675
се преобразува в двоично число с плаваща запетая, той отново се заменя с двоично приближение, чиято точна стойност е:
2.67499999999999982236431605997495353221893310546875
Поради това той се закръглява надолу до 2,67.
Ако сте в ситуация, в която тази точност е необходима, помислете дали да не използвате decimal
модула, който е предназначен за аритметика с плаваща запетая:
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))
Изход
2,67 2,68