Функция 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








