Как сократить число после запятой python

№32 Функция round() / для начинающих

Round — встроенная функция Python. Ее задача — округлять число с плавающей точкой до той цифры, которую задает пользователь. Если ее не задать, то возвращается ближайшее целое число, ведь значением по умолчанию является 0. Функция round помогает «улучшать» числа с плавающей точкой.

Например, если округлить 4,5 до ближайшего целого, то вернется 5. Однако 4,7 будет результатом, если округлить до одной цифры 4,74. Быстрое округление — важный инструмент работы с такими числами.

  • Число с плавающей точкой ( float_number ) представляет собой число, которое нужно округлить
  • Количество дробей ( number_of_decimals ) определяет, до какой цифры будет округлено число. Функция возвращает float.
  • Если количество цифр не указано, то по умолчанию там стоит ноль. В таком случае округление происходит до ближайшего целого и возвращается тоже целое число.
  • Если >= 5, то добавляется +1.
  • Если Примеры работы функции round в Python

Пример №1 — один параметр

 
# Целые числа
a = 12
round (a)
print (a)

# Десятичные числа
b = 21.7
c = 21.4
print(round(b))
print(round(c))

Здесь возвращается целое число, до которого и округляется число с плавающей точкой.

Пример №2 — оба параметра

 
# когда последняя цифра 5
a = 5.465
print(round(a, 2))

# когда последняя цифра >=5
b = 5.476
print(round(b, 2))

# когда последняя цифра меньше 5
c = 5.473
print(round(c, 2))

Практические примеры

Пример №1 — функция round помогает при работе с дробями

Когда дроби нельзя конвертировать в десятичные дроби, в дело вступает функция round. После десятичной точки обычно много цифр, как например в случае с 22/7 (Pi). Но обычно используется не больше 2-4 цифр. Вспомогательный встроенный в round тип будет округлять до ближайшего кратного 10.

round(3.675, 2) вернет 3,67, а не 3,68. Удивительно, но это не баг. Результат указывает на то, что большая часть дробей не могут считаться точными числами с плавающей точкой.

 
a = 1/6
print(a)
print(round(a, 2))

Пример №2 — исключения и ошибки

Функция round округлит 2, 2,5 и 1,5 до 2. Это тоже не баг, а нормальное поведение функции.

 
a = 1.5
b = 2
c = 2.5
print(round(a))
print(round(b))
print(round(c))

Если смотреть в целом, то работает функция вот так:

 
tup = (-40.95, 50.85, 10.98, 20.26, 30.05) # Создание кортежа
lis = [-39.29, -42.15 , -39.97, -10.98, 32.65] # Создание списка
print('Округление отрицательного десятичного числа = %.2f' %round(-19.48476))
print('Округление положительного десятичного числа = %.2f' %round(15.98763))
print('Округление со вторым параметром при положительном значении = %.3f' %round(11.98763, 3))
print('Округление со вторым параметром при отрицательном значении = %.3f' %round(-18.48476, 3))
print('Округление элементов в списке = %d' %round(lis[2]))
print('Округление элементов в списке = %d' %round(lis[4]))
print('Округление элементов в кортеже = %d' %round(tup[2]))
print('Округление элементов в кортеже = %d' %round(tup[4]))
print('Округление сумы чисел = %.2f' %round(20 + 40 - 20.6578, 2))
 
Округление отрицательного десятичного числа = -19.00
Округление положительного десятичного числа = 16.00
Округление со вторым параметром при положительном значении = 11.988
Округление со вторым параметром при отрицательном значении = -18.485
Округление элементов в списке = -40
Округление элементов в списке = 33
Округление элементов в кортеже = 11
Округление элементов в кортеже = 30
Округление сумы чисел = 39.34

Есть разные метода функции округления в Python. Одна из них — это сокращение.

Сокращение

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

Например, round(565.5556, -2) используется как функция сокращения. Она вернет 600.

Выводы

Функция round позволяет упростить работу с крупными объемами данных. Ее задача — возвращать число с определенным количеством цифр после точки.

Источник

Round Python. Округление

Основы

Введение в тему

Зачастую при вычислениях, а их в работе программиста не мало, мы сталкиваемся с задачами округления. Округлять можно по разному: вверх, вниз и с разной степенью точности. В языке Пайтон для выполнения этого класса задач предусмотрено несколько доступных инструментов: функции round(), int(), а так же модуль math. Но, есть и подводные камни. Обо всём этом Вы узнаете из данного урока.

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

Начнём с рассмотрения встроенных функций: round и int. Что означает «встроенные»? Всё просто: чтобы их использовать не надо ничего подключать или импортировать – просто пишете имя функции и она уже готова к бою.

Round

Функция round – округляет число до необходимой точности (заданного количества знаков после запятой).

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

 
результат_округления = round(3.14) print(результат_округления) # Вывод: 3 результат_округления = round(3.94) print(результат_округления) # Вывод: 4 import math результат_округления = round(math.pi, 5) print(результат_округления) # Вывод: 3.14159

Со школы многие привыкли, что, когда (N + 1) знак = 5, а последующие знаки равны нулю, округление производится всегда в большую по модулю сторону.

Если дробная часть равна 0,5, то результатом округления будет ближайшее четное число.

При округлении функцией round(), можно получить следующее:

Источник

Форматирование чисел в 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”

Источник

Читайте также:  Hello World
Оцените статью