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

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

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

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

Округление чисел – это корректировка числа путем уменьшения количества знаков после запятой. Этот прием обычно применяется для упрощения числа с сохранением при этом последовательности вычислений. Тем не менее, округление числа до определенных десятичных знаков влияет на точность вычисленных значений из-за введения небольших погрешностей при округлении.

Методы округления до сотых в Python

Python предоставляет различные методы округления чисел до двух знаков после запятой. В следующих примерах дается подробное объяснение этих методов.

Округление до сотых с помощью функции round()

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

В примере ниже выводится 34.15.

# Число, которое нужно округлить
number = 34.14559

# Округление числа до сотых
rounded_number = round(number, 2)

print(rounded_number) 

Если второй аргумент опустить, round() по умолчанию использует режим округления до ближайшего целого четного числа. Такое округление предполагает, что если дробная часть числа равна 0,5, то число округляется до ближайшего целого числа. Эта техника полезна, так как позволяет свести к минимуму суммарные ошибки округления.

Округление до сотых с помощью методов форматирования строк

Для отображения округленных чисел в выводе можно применять техники форматирования строк.

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

Примечание редакции: рекомендуем также статью “Форматирование чисел в Python”.

Использование оператора %

Оператор % предлагает традиционный метод форматирования чисел с двумя десятичными знаками. Он позволяет создавать отформатированные строки, вставляя значения в плейсхолдеры.

В приведенном ниже примере f указывает на число с плавающей точкой, а .2 — на количество десятичных знаков для округления числа.

# Число, которое нужно округлить
number = 3.14159

# Использование оператора % для округления числа до двух десятичных знаков
formatted_number = "%.2f" % number

print(formatted_number)

Использование format()

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

В приведенном ниже примере :.2f используется внутри фигурных скобок, чтобы указать, что число округляется до двух знаков после запятой. Код выведет 3.14.

# Число, которое нужно округлить
number = 3.14159

# Использование str.format() для округления числа до двух десятичных знаков
formatted_number = "{:.2f}".format(number)

print(formatted_number)

Использование f-строк (Python 3.6+)

F-строки были представлены в Python 3.6. Это лаконичный и эффективный способ форматирования строк и чисел. Этот метод улучшает читаемость и сопровождаемость кода за счет встраивания выражений непосредственно в строковые литералы. Приведенный ниже код выводит 14.68.

# Число, которое нужно округлить
number = 14.67856

# Использование f-strings для округления числа до двух десятичных знаков
formatted_number = f"{number:.2f}"

print(formatted_number)

Округление до сотых с помощью модуля math

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

Функция math.floor() используется для округления числа до ближайшего целого (в меньшую сторону). Чтобы округлить число до сотых, нужно умножить его на 100, применить функцию math.floor() и разделить на 100. Следующий код выводит 3.14.

# Импорт модуля math 
import math

# Число, которое нужно округлить
number = 3.14159

# Использование math.floor() для округления до двух знаков после точки
rounded_down = math.floor(number * 100) / 100

print(rounded_down)

Аналогично, функция math.ceil() округляет число до ближайшего целого, но в большую сторону. Чтобы округлить число до сотых, умножьте его на 100, примените функцию math.ceil() и разделите на 100. Код ниже выводит 3.15.

# Импорт модуля math
import math

# Число, которое нужно округлить
number = 3.14159

# Использование math.ceil() для округления до 2 знаков после точки
rounded_up = math.ceil(number * 100) / 100

print(rounded_up)

Округление чисел с помощью модуля decimal

Модуль decimal в Python полезен для округления чисел с плавающей точкой до точного количества десятичных знаков. Делается это с помощью метода .quantize(). В примере ниже мы задали точность 0,01, чтобы указать, что хотим округлить число сотых.

# Импорт модуля decimal
from decimal import Decimal

# Число, которое нужно округлить
number = Decimal("18.73869")

# Определение точности округления - до 2 знаков после точки
precision = Decimal('0.01')

# Использование метода quantize для округления числа до сотых
rounded_number = number.quantize(precision)

print(rounded_number)

Заключение

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

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

Перевод статьи “How to Round to 2 Decimal Places in Python”.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *