- №32 Функция round() / для начинающих
- Пример №1 — один параметр
- Пример №2 — оба параметра
- Практические примеры
- Пример №1 — функция round помогает при работе с дробями
- Пример №2 — исключения и ошибки
- Сокращение
- Выводы
- Round Python. Округление
- Введение в тему
- Встроенные функции
- Round
- Форматирование чисел в Python
- Форматирование чисел с округлением
- Вывод числа с разбивкой на разряды
- Вывод числа в процентах
- Заключение
- 1 комментарий к “Форматирование чисел в 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+034.86e+03 означает 4,86 x 10³, или 4,86 x 1000, что равно 4860. Глядя на этот результат, мы видим, что получили три значащих цифры, как и хотели.
Итак, а как нам указать три десятичных знака после запятой? Для этого нужно просто добавить f .
x = 4863.4343091 print(f"") # 4863.434f в данном случае указывает, что наше число типа 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”