Python3 Функция round()
Описание
round()Метод возвращает округленное значение числа с плавающей запятой x. Если быть точным, сохраняемое значение будет ближе к предыдущей цифре (округление половины к четному).
Если требуется высокая точность, эту функцию использовать не рекомендуется.
Синтаксис
Ниже приведен синтаксис метода round():
round( x [, n] )
Parameters
- x -- числовое выражение.
- n -- указывает количество цифр после десятичной точки, до которых нужно округлить x; значение по умолчанию — 0.
Возвращаемое значение
Возвращает округленное значение числа с плавающей запятой x.Примеры
Ниже показан пример использования метода round():
Примеры
print ("round(70.23456) : ", round(70.23456))
print ("round(56.659,1) : ", round(56.659,1))
print ("round(80.264, 2) : ", round(80.264, 2))
print ("round(100.000056, 3) : ", round(100.000056, 3))
print ("round(-100.000056, 3) : ", round(-100.000056, 3))
Вывод приведённого выше примера после запуска:
round(70.23456) : 70 round(56.659,1) : 56.7 round(80.264, 2) : 80.26 round(100.000056, 3) : 100.0 round(-100.000056, 3) : -100.0
Взгляните на пример, приведённый на официальном сайте:
>>> round(2.675, 2) 2.67
Согласно нашим рассуждениям, возвращаемый результат должен быть 2.68, но результат — 2.67. Почему?
Это связано с точностью чисел с плавающей запятой. Мы знаем, что в машине числа с плавающей запятой могут быть представлены не точно, потому что после преобразования в строку из единиц и нулей они могут иметь бесконечное количество цифр, и машина уже усекла их. Таким образом, число 2.675, хранящееся в машине, немного меньше фактического числа. Эта крошечная разница приводит к тому, что оно немного ближе к 2.67, поэтому при сохранении двух знаков после запятой оно округляется до 2.67.
Другие расширения
Числа в Python3