Точность питон до сотых

Как округлить число в Python

При работе со значениями с плавающей запятой (числа с дробной частью) в нашей программе на Python нам может понадобиться округлить число в большую или меньшую сторону или до ближайшего целого числа. В этой статье мы рассмотрим встроенные в Python функции, которые позволяют нам округлять числа, и разберем их работу на примерах.

Мы начнем с функции round() . По умолчанию она округляет исходное число до ближайшего целого числа. Мы также разберем, как использовать аргументы данной функции для изменения типа возвращаемого нам результата.

Затем мы поговорим о методах math.ceil() и math.floor() , которые округляют изначальное число в большую и меньшую сторону до ближайшего целого числа. Эти два метода входят во встроенный математический модуль math в Python.

Как округлить число при помощи метода round()

Функция round() округляет число до указанного количества знаков после запятой. Если количество знаков не указано, функция округлит число до ближайшего целого.

Функция round() принимает два аргумента. Её синтаксис выглядит следующим образом:

Первый параметр — number (число) — это исходное число с дробной частью, которое мы хотим округлить.

Второй параметр — decimal_digits — это количество возвращаемых десятичных знаков. Значение по умолчанию — 0.

Давайте рассмотрим пару примеров.

В нашем первом примере мы используем только один параметр — округляемое число number, равное 2,56789.

Когда мы передали числовую переменную в функцию round() , ее значение было округлено до ближайшего целого числа, то есть до 3.

Вот как легко работает данный метод!

Теперь давайте посмотрим, как работает второй параметр.

x = 2.56789 print(round(x, 2)) # 2.57

В этом коде мы добавили в функцию round() второй параметр. А именно — передали значение 2 в качестве параметра decimal_digits . В результате наша функция округлит число до сотых (два знака после запятой).

Читайте также:  Firefox and java linux

В выводе мы получим 2,57: исходное число 2,56789 округляется до двух знаков после запятой и получается 2,57.

Давайте рассмотрим ещё один пример, чтобы получше разобраться в работе второго параметра функции round() .

x = 2.56789 print(round(x, 3)) # 2.568

Теперь мы передали в качестве второго параметра число 3 ( decimal_digits = 3 ). В результате получим число, округленное до тысячных (три знака после запятой).

Первоначальное число 2,56789 было округлено до 2,568.

Вот и всё! Просто, не правда ли?

Простой метод math.ceil() позволяет округлить число до целого в большую сторону. Метод принимает только один аргумент — округляемое число. Синтаксис выглядит следующим образом:

К примеру, мы можем использовать ceil() вот так:

import math x = 5.57468465 print(math.ceil(x)) # 6

Скорее всего, вы заметили, что в приведенном выше коде мы сначала импортировали математический модуль с помощью команды import math . Это дает нам доступ ко всем методам, предоставляемым данным модулем.

Далее мы создали переменную x и присвоили ей значение 5,57468465.

Чтобы округлить исходное число х до ближайшего целого числа, мы передали его методу math.ceil() .

Результирующее значение этой операции, как видно из приведенного выше кода, равно 6.

Таким образом, функция ceil() является некой упрощенной версией round() : она просто округляет исходное значение в большую сторону.

Как округлить число до ближайшего целого при помощи метода math.floor()

Метод floor() в некотором смысле обратный методу ceil() : он тоже округляет число до целого, но в меньшую сторону.

Как и в предыдущем примере, чтобы использовать метод math.floor() , мы должны сначала импортировать математический модуль с помощью команды import math .

Вот так выглядит синтаксис метода math.floor() :

Данный метод точно так же принимает лишь один аргумент — исходное число, которое нужно округлить. Однако floor() округляет до целого числа в меньшую сторону. Давайте рассмотрим следующий пример:

import math x = 5.57468465 print(math.floor(x)) # 5

Мы передали методу math.floor() переменную x , в которой хранится число 5,57468465. В результате это число было округлено до 5.

Заключение

Итак, в этой статье мы разобрали, как округлить число в Python. Мы рассказали о трех встроенных в Python функциях, которые позволяют округлять числа.

Читайте также:  Знак бесконечности символ html

Первой была функция round() . Она округляет число до ближайшего целого числа. При этом данная функция также принимает и второй параметр, с помощью которого можно указать, до какого знака после запятой нужно округлить число.

Следующий метод — math.ceil() — округляет число до ближайшего целого числа в большую сторону. Третий метод — math.floor() — тоже округляет число до ближайшего целого, но уже в меньшую сторону. Эти два метода доступны при работе с математическим модулем math . Документацию по модулю math можете посмотреть здесь.

Надеемся данная статья была вам полезна! Успехов в написании кода!

Источник

Округление в Python — round, int, модуль math

При выполнении ряда арифметических операций пользователю нужно следовать правилам округления. Преобразовывать нужно в большую или меньшую сторону, до целого значения или до сотых.

В Python для округления доступны функции round() , int() и модуль math . Последний дополнительно импортируется.

Встроенные функции

Для операции округления в Python есть встроенные функции — round() и int()

round

round(number[, ndigits]) — округляет число (number) до ndigits знаков после запятой. Это стандартная функция, которая для выполнения не требует подключения модуля math.

По умолчанию операция проводится до нуля знаков — до ближайшего целого числа. Например:

round(3.5) > 4 round(3.75, 1) > 3.8

Чтобы получить целый показатель, результат преобразовывают в int .

Синтаксически функция вызывается двумя способами.

  1. round(x) — это округление числа до целого, которое расположено ближе всего. Если дробная часть равна 0,5, то округляют до ближайшего четного значения.
  2. round(x, n) — данные х округляют до n знаков после точки. Если округление проходит до сотых, то n равен «2», если до тысячных — «3» и т.д.

int

int — встроенная функция, не требующая подключения дополнительных модулей. Её функция — преобразование действительных значений к целому путем округления в сторону нуля. Например:

Для положительных чисел функция int аналогична функции math.floor() , а для отрицательных — аналогично math.ceil() . Например:

import math math.floor(3.999) > 3 math.ceil(3.999) > 4

💡 Чтобы число по int преобразовать по математическим правилам, нужно выполнить следующие действия.

Синтаксически преобразование оформляется так:

num = 5.77 int(num + (0.5 if num > 0 else -0.5)) > 6

Функции из библиотеки Math

Модуль необходим в Python. Он предоставляет пользователю широкий функционал работы с числами. Для обработки алгоритмов сначала проводят импорт модуля.

Читайте также:  Java programs run on jvm

math.ceil

Функция преобразовывает значение в большую сторону (вверх). Этот термин применяется и в математике. Он означает число, которое равно или больше заданного.

Любая дробь находится между двумя целыми числами. Например, 2.3 лежит между 2 и 3. Функция ceil() определяет большую сторону и возводит к нему результат преобразования. Например:

import math math.ceil(3.25) > 4

Алгоритм определяет большую границу интервала с учетом знака:

import math math.ceil(-3.25) > -3

math.floor

math.floor() действует противоположно math.ceil() — округляет дробное значение до ближайшего целого, которое меньше или равно исходному. Округление происходит в меньшую сторону (вниз):

import math math.floor(3.9) > 3 math.floor(-2.1) > -3

При округлении учитывается знак перед данными.

math.trunc

Функция характеризуется отбрасыванием дробной части. После преобразования получается целое значение без учета дроби. Такой алгоритм не является округлением в арифметическом смысле. В Пайтон просто игнорируется дробь независимо от ее значения:

import math math.trunc(7.11) > 7 math.trunc(-2.1) -2

💡 Избавиться от дроби можно без подключения модуля. Для этого есть стандартная функция int Она преобразовывает дробные числа в целые путем игнорирования дроби.

Различие округления в Python 2 и Python 3

В Python 2 и Python 3 реализованы разные принципы округления.

В Python 2 используется арифметическое округление. В нем наблюдается большое количество погрешностей, что приводит к неточностям в процессе вычислений.

Во втором Python есть только 4 цифры, которые ведут к преобразованию к меньшему значению — 1, 2, 3 и 4. Также 5 цифр, которые приводят к большему значению — 5, 6, 7, 8, 9. Такое неравное распределение ведет к тому, что погрешность постоянно нарастает.

Python 2 по правилам арифметического округления преобразует число 5,685 в 5,68 до второго знака. Такая погрешность связана с тем, что десятичные цифры float в двоичном коде невозможно корректно представить.

В Python 3 используются принципы банковского округления. Это означает, что преобразование производится к ближайшему четному. В таком случае также не удается полностью избежать возникающих ошибок, но программисты добиваются точности в подсчетах.

2,5 по правилам банковского преобразования будет равно 2, а 3,5 = 4 (значения возводятся к близкому четному). Минимизировать погрешности можно благодаря практически равной вероятности, что перед пятеркой будет четное или нечетное число.

Источник

Оцените статью