Функция round()
в Python используется для выполнения операции округления чисел.
Синтаксис функции:
round(number[, ndigits])
Число округляется до ближайших n знаков после запятой.
Если ndigit не указан или равен None, возвращается ближайшее целое число.
При округлении входного числа до целого, если значения округления в большую и меньшую сторону одинаково близки, возвращается четное число.
Например, 20.5 округлится до 20 и 25.5 округлится до 26. Любое целочисленное значение (положительное, нулевое или отрицательное) допустимо для n цифр.
Примеры функции:
print(round(20.5))
print(round(20.2))
print(round(25.8))
print(round(25.5))
Результаты:
>>> 20
>>> 20
>>> 26
>>> 26
Пример, когда round()
с ndigit = None:
print(round(1.5))
print(round(1.5, None))
Результат:
>>> 2
>>> 2
Примеры с отрицательными числами:
print(round(100, 0))
print(round(100.1234, -2))
print(round(100.1234, -3))
Результаты:
>>> 100
>>> 100.0
>>> 0.0
Когда округление применяется к числам с плавающей запятой, иногда результат может быть неожиданным. Это связано с тем, что числа хранятся в двоичной форме, и в большинстве случаев десятичные дроби не могут быть представлены точно так же, как двоичные дроби.
Python делает приближение и дает нам округленное значение, потому что эта арифметика с плавающей запятой может время от времени давать неожиданные значения. Например:
print(round(3.675, 2))
print(round(2.2356, 2))
print(round(-2.2356, 2))
Результат:
>>> 3.67
>>> 2.24
>>> -2.24
Обратите внимание, что округление первого числа с плавающей запятой выглядит неправильно. В идеале его следует округлить до 3,68. Это ограничение арифметики с плавающей запятой.