Найти тему

Как округлить число в питоне

Оглавление

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

Основные способы округления:

1. Функция round()

  • Округление до ближайшего целого или определенного количества знаков:

# Округление до ближайшего целого
x = 3.14
y = round(x) # y будет равно 3

# Округление до одного знака после запятой
z = round(x, 1) # z будет равно 3.1

Особенности:

  • При округлении до ближайшего целого, если дробная часть равна 0.5, то число округляется к ближайшему четному числу (банковское округление). Например, round(2.5) будет равно 2, а round(3.5) будет равно 4.

Функция math.ceil()

  • Округление вверх до ближайшего целого:
  • import math
    x = 3.14
    y = math.ceil(x) # y будет равно 4

Функция math.floor()

  • Округление вниз до ближайшего целого:

import math
x = 3.7
y = math.floor(x) # y будет равно 3

Примеры использования:

# Округление до двух знаков после запятой
price = 12.3456
rounded_price = round(price, 2) # rounded_price будет равно 12.35

# Округление вверх до ближайшего целого
import math
number = 2.1
rounded_up = math.ceil(number) # rounded_up будет равно 3

# Округление вниз до ближайшего целого
number = 2.9
rounded_down = math.floor(number) # rounded_down будет равно 2

Выбор метода:

  • round(): Универсальный метод для большинства случаев.
  • math.ceil(): Используется, когда нужно всегда округлить вверх.
  • math.floor(): Используется, когда нужно всегда округлить вниз.

Какой метод выбрать зависит от конкретной задачи.

Дополнительные замечания:

  • Точность: При работе с числами с плавающей запятой могут возникать небольшие погрешности из-за особенностей представления чисел в компьютере.
  • Форматирование чисел: Для форматирования чисел с заданным количеством знаков после запятой можно использовать f-строки или метод format().

Пример с использованием f-строк:

number = 3.14159
formatted_number = f"Округленное число: {number:.2f}"
print(formatted_number) # Вывод: Округленное число: 3.14