Функция round () возвращает число с плавающей запятой, округленное до указанного количества десятичных знаков.
Синтаксис round()
функции:
раунд (число, ndigits)
round () Параметры
round()
Функция принимает два параметра:
- number - число, которое нужно округлить
- ndigits (необязательно) - число, до которого округляется данное число; по умолчанию 0
Возвращаемое значение из round ()
- Если
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 float может вызывать удивление. Уведомление 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