Сокращение числа в python

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

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

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

Затем мы поговорим о методах math.ceil() и math.floor() , которые округляют изначальное число в большую и меньшую сторону до ближайшего целого числа. Эти два метода входят во встроенный математический модуль math в Python.

Как округлить число при помощи метода round()

Функция round() округляет число до указанного количества знаков после запятой. Если количество знаков не указано, функция округлит число до ближайшего целого.

Функция round() принимает два аргумента. Её синтаксис выглядит следующим образом:

Первый параметр — number (число) — это исходное число с дробной частью, которое мы хотим округлить.

Читайте также:  Python execute command line subprocess

Второй параметр — 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() позволяет округлить число до целого в большую сторону. Метод принимает только один аргумент — округляемое число. Синтаксис выглядит следующим образом:

К примеру, мы можем использовать 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 можете посмотреть здесь.

Надеемся данная статья была вам полезна! Успехов в написании кода!

Источник

№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(), можно получить следующее:

Источник

Сокращение больших чисел с плавающей запятой до формата 12.342M или 1.023B в python

Пытаюсь написать функцию, что получает на вход длинное или не очень число и возвращает это же число, но сокращенное до формата, что указан в заголовке вопроса. К примеру функция получает число 2 454 232, а возвращает его же, но в формате 2.454m. Или 123 456 789 012 будет приведено к 123.456b. Т.е. выводятся перые знаки числа(будь то 1, 10, 100 миллионов), затем ставится точка или запятая и после выводятся 3 последующие знака, будь то 001, 011, 111 или вообще 000(хотя возможно в ситуации с 000 можно было бы просто выводить первое число без точки, но это не так критично). У меня получилось сокращение числа до самых первых первых знаков, чтобы выводилось к примеру 2m или 133b, но реализовать тысячные или миллионные после запятой у меня не выходит. Знает ли кто то как можно дополнить функцию, чтобы она корректно работала и возвращала числа после запятой? Заранее спасибо за ответ. '''

def shorten_number(number_to_shorten): str_number_to_shorten = str(number_to_shorten) if len(str_number_to_shorten) > 9 and len(str_number_to_shorten) = 7 and len(str_number_to_shorten)  

да в общем то любые большие числа целые. Как я уже раньше написал 2 454 232 будет приведено к 2.454m, а например более длинное число такое как 122 042 456 234 123 045 будет приведено к 122.042 и в конце буква от сокращенного названия этого числа. Не обязательно заморачиваться с такими большими числами, достаточно сделать миллионные и можно миллиардные, мне этого хватит, я дальше сам разберусь.

Источник

Оцените статью