- Как округлить число в Python
- Как округлить число при помощи метода round()
- Как округлить число до ближайшего целого при помощи метода math.ceil()
- Как округлить число до ближайшего целого при помощи метода math.floor()
- Заключение
- Форматирование чисел в Python
- Форматирование чисел с округлением
- Вывод числа с разбивкой на разряды
- Вывод числа в процентах
- Заключение
- 1 комментарий к “Форматирование чисел в Python”
- 6 методов для обработки и установки точности в Python
- Различные методы обеспечения точности
- Управление десятичной частью
- Заключение
Как округлить число в 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 . В результате наша функция округлит число до сотых (два знака после запятой).
В выводе мы получим 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()
Простой метод 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 функциях, которые позволяют округлять числа.
Первой была функция round() . Она округляет число до ближайшего целого числа. При этом данная функция также принимает и второй параметр, с помощью которого можно указать, до какого знака после запятой нужно округлить число.
Следующий метод — math.ceil() — округляет число до ближайшего целого числа в большую сторону. Третий метод — math.floor() — тоже округляет число до ближайшего целого, но уже в меньшую сторону. Эти два метода доступны при работе с математическим модулем math . Документацию по модулю math можете посмотреть здесь.
Надеемся данная статья была вам полезна! Успехов в написании кода!
Форматирование чисел в Python
Форматирование строк на самом деле является удивительно большой темой, и у Python есть собственный внутренний мини-язык для обработки множества доступных нам параметров форматирования. В этой статье мы разберем только форматирование чисел. Вы узнаете, как вывести число с нужным количеством знаков после запятой и с разбивкой по три цифры.
Форматирование чисел с округлением
Сначала давайте рассмотрим форматирование чисел с плавающей запятой до заданного уровня округления. Есть два способа сделать это: можно указать нужное количество значащих цифр в целом или количество значащих цифр после десятичной точки. Начнем с первого.
Чтобы указать уровень точности округления, нам нужно использовать двоеточие (:), за которым следует десятичная точка, а также некоторое целое число, представляющее степень точности (количество знаков после запятой). При использовании f-строки мы помещаем всё это после значения, которое хотим отформатировать (в фигурных скобках) . Вместо этого также можно использовать метод format.
x = 4863.4343091 # пример числа с плавающей запятой print(f"") # использование f-строки print("".format(x)) # использование метода format
В обоих случаях мы получаем одинаковый результат: 4863.43.
Как видите, наше довольно длинное число сократилось до шести цифр. Также следует отметить, что данная операция форматирования может производить еще и округление. Если, например, первоначальное число будет иметь значение 4863.435, то выведем в консоль мы 4863.44. Здесь используется округление до ближайшего четного числа (в английском языке banker’s rounding — «округление банкира»).
Если мы укажем меньше цифр, чем у нас есть в целочисленной части нашего числа с плавающей запятой, то получим экспоненциальное представление:
x = 4863.4343091 print(f"") # 4.86e+03
4.86e+03 означает 4,86 x 10³, или 4,86 x 1000, что равно 4860. Глядя на этот результат, мы видим, что получили три значащих цифры, как и хотели.
Итак, а как нам указать три десятичных знака после запятой? Для этого нужно просто добавить f .
x = 4863.4343091 print(f"") # 4863.434
f в данном случае указывает, что наше число типа float должно отображаться как «число с фиксированной точкой». То есть нам нужно определенное количество десятичных знаков. Мы также можем использовать f без числа, что по умолчанию означает точность 6 цифр после точки:
x = 4863.4343091 print(f"") # 4863.434309
Вывод числа с разбивкой на разряды
Большие числа зачастую удобно писать с использованием символов-разделителей (обычно это запятые, пробелы или точки). Это улучшает их восприятие при чтении. В Python мы можем указать, каким символом разбить цифры числа на классы, указав нужный символ после двоеточия:
x = 1000000 print(f"") # 1,000,000 print(f"") # 1_000_000
При форматировании чисел с плавающей запятой и форматировании с округлением это тоже работает:
x = 4863.4343091 print(f"") # 4,863.434 print(f"") # 4_863.434
Вывод числа в процентах
Мы можем вывести число в качестве процентного значения, просто добавив символ % в конце параметров форматирования вместо f :
questions = 30 correct_answers = 23 print(f"You got correct!") # You got 76.67% correct!
При форматировании числа в процентах точность округления всегда относится к количеству цифр после точки.
Заключение
Вот и все! Мы разобрали самые ходовые способы вывода чисел в нужном формате. Теперь вы знаете, как ограничить количество цифр в выводимом числе, количество знаков в дробной части числа, как вывести число в удобном для чтения виде и в виде процентного значения.
1 комментарий к “Форматирование чисел в Python”
6 методов для обработки и установки точности в Python
Python предоставляет множество встроенных методов для обработки точных значений чисел с плавающей запятой. В этом руководстве мы обсудим наиболее распространенные типы методов для обработки и установки точности в Python. Большинство методов определены в математическом модуле.
Различные методы обеспечения точности
Следующие методы поставляются с математическим модулем.
- trunc() – метод trunc() удаляет все десятичные точки из числа с плавающей запятой. Он возвращает целочисленное значение без десятичной части.
- ceil() – этот метод печатает наименьшее целое число, большее заданного числа.
- floor() – этот метод печатает наибольшее целое число, меньшее целого.
Давайте разберемся в следующем примере.
import math num = 25.74356801 # using trunc() function print("The value is:",math.trunc(num)) # using ceil() function print("The ceiling value is:",math.ceil(num)) # using floor() function print("The floor value is:", math.floor(num))
The value is: 25 The ceiling value is: 26 The floor value is: 25
Управление десятичной частью
В предыдущем примере мы увидели, как можно удалить дробную часть числа. Теперь мы научимся управлять десятичной частью. Во-первых, давайте разберемся в следующих методах.
- Оператор% – он работает как printf в C и используется для установки точности и формата. Мы можем настроить пределы точности, которые будут включены в результирующее число.
- format() – это встроенный метод Python, который используется для форматирования строки и установки точности.
- round(n, d) – используется для округления числа n до d десятичных знаков. Мы можем выбрать количество цифр, которое может отображаться после десятичных знаков.
num = 25.73796211 # using "%" operator print('The value is: %.3f'%num) # using format() function print("The value is: ".format(num)) # using round() function print("The value is:",round(num,5))
The value is: 25.738 The value is: 25.738 The value is: 25.73796
Заключение
Мы обсудили шесть методов обработки точности в Python. Все методы просты в использовании и дают точный результат.