Часто нужно округлить число с плавающей запятой к числу с фиксированным числом десятичных знаков. Для простого округления можно использовать встроенную функцию round(value, ndigits). Например:
>>> round(1.24, 1)
1.2
>>> round(1.28, 1)
1.3
>>> round(-1.29, 1)
-1.3
>>> round(1.25371,3)
1.254
>>>
Функция round() округляет промежуточные значения к ближайшей четной цифре. То есть значения, такие как 1.5 или 2.5 будут округлены к 2. Число разрядов, передаваемых функции round() может быть отрицательным, когда округление имеет место для десятков, сотен, тысяч и т.д. Например:
>>> а= 2625531
>>> round(a, -1)
2625530
>>> round(a, -2)
2625500
>>> round(a, -3)
2626000
>>>
Не путайте округление с форматированием значения для вывода. Если ваша цель заключается в том, чтобы просто вывести численное значение с определенным числом десятичных разрядов, вы не должны использовать round(). Вместо этого лучше определить желаемую точность при форматировании. Например:
>>> х = 1.234567
>>> format(x, '0.2f')
'1.23'
>>> format(x, '0.3f')
'1.235'
>>> 'numЬer - {:0.3f}' .format(x) 'number - 1.235'
>>>
Кроме того, не нужно округлять числа с плавающей запятой к числам с фиксированным числом десятичных разрядов, чтобы избежать проблем точности. Пример:
>>> а= 3.1
>>> b = 4.2
>>> с= а+ b
>>> с
7.300000000000001
>>> с= round(c, 2)
>>> с
7.3
>>>
Для большинства приложений, работающих с плавающей точкой, просто рекомендуется это сделать. Если для вас важно предотвращение таких ошибок (например, в финансовых приложениях), рассмотрите использование модуля decimal.