Как вывести 2 знака после запятой в python
Перейти к содержимому

Как вывести 2 знака после запятой в python

  • автор:

Округление чисел и его особенности

Python 3 логотип

Округлением чисел в Python занимается встроенная функция round.

round(number[, ndigits]) — округляет число number до ndigits знаков после запятой (по умолчанию, до нуля знаков, то есть, до ближайшего целого)

   

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

Однако, как видно из примеров, в Python это не так. Здесь используется так называемое "Банковское округление", то есть округление к ближайшему чётному.

На практике это оказывается не так уж и важно, например:

 Что-то не так, правда? На самом деле, всё именно так, как и задумывалось. Просто из-за проблем с точностью чисел с плавающей точкой это число чуть больше, чем 2.85, а потому округляется до 2.9.

Для вставки кода на Python в комментарий заключайте его в теги

  • Модуль csv - чтение и запись CSV файлов
  • Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
  • Онлайн-обучение Python: сравнение популярных программ
  • Книги о Python
  • GUI (графический интерфейс пользователя)
  • Курсы Python
  • Модули
  • Новости мира Python
  • NumPy
  • Обработка данных
  • Основы программирования
  • Примеры программ
  • Типы данных в Python
  • Видео
  • Python для Web
  • Работа для Python-программистов
  • Сделай свой вклад в развитие сайта!
  • Самоучитель Python
  • Карта сайта
  • Отзывы на книги по Python
  • Реклама на сайте

Как вывести числа с двумя знаками после запятой?

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

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

Но как не изменять числа, а лишь "отфильтровать" и вывести необходимые числа?

text = '234.54, 4.85, 2.123' match = re.findall("[0-9]+[.]\d", text) print(match)

Вывод: ['234.54', '4.85', '2.12'] , а должен быть ['234.54', '4.85']

  • Вопрос задан более двух лет назад
  • 264 просмотра

Можно ли в Python во float отбросить k знаков после запятой?

Здравствуйте, вопрос следующий.
Допустим, есть число 17.212123445.
А нужно записать в память только первую цифру после запятой. Каким образом сделать это при помощи вещественных и целочисленных операций?

  • Вопрос задан более трёх лет назад
  • 155518 просмотров

1 комментарий

Простой 1 комментарий

nmkru

Попробуйте через ф-ию round(укажите сколько значков после запятой надо вывести)
>>>a=5.4323321
>>>a.__round__(2)
5.43
>>>a
5.4323321
>>>a.__round__(4)
5.4323

Решения вопроса 1
ненавижу javascript

>>> a=13.946 >>> print(a) 13.946 >>> print("%.2f" % a) 13.95

Ответ написан более трёх лет назад
Нравится 15 10 комментариев
Timebird @Timebird Автор вопроса

Не совсем, тем не менее, спасибо за ответ, это я некорректно вопрос сформулировал, видимо.

Нужно не выводить на печать последние две цифры, а хранить в памяти число с двумя последними цифрами

ну не вопрос допишите b = float("%.2f" % a)
Timebird @Timebird Автор вопроса
Спасибо, работает. 🙂
Timebird: Ты только не делай так. Для таких случаев есть Decimal.
Roman Kitaev: это норм способ, decimal тянуть для такой задачи оверхед)
Михаил: Ты не знаешь ведь задачу) Вдруг, он там деньги считает?

aklim007

О_о вместо того чтоб воспользоваться хотя бы функцией round для округления до нужной точности, вы серьёзно предлагаете сначала преобразовать в строку а потом обратно в число?

Roman Kitaev: тогда мой вариант может стать причиной того что баланс не сойдется))

Артём Клименко: да мне похеру, я могу и scipy зафигачить чтоб число округлить, и да, я предлогаю именно это, потому что это самый что ни на есть стандартнейший способ, быстро сделать то что в ввопросе описано, и при этом следующий прогер который будет это читать сразу поймет о чем речь. а не будет ебсти себе мозг чо там у нас раунд возвращает, да и приведение в строку и обрато способ куда шустрей по ресурсам)

aklim007

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

З.Ы. if len(str(bool(a))) == 4:

Округление чисел в Python

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

Округление с помощью int()

Для получения целого числа можно использовать оператор int() , который преобразует вещественное число в целое, путем отбрасывания остатка.

int(3.14)

Оператор int() не является как таковым оператором округления, по тому как просто отбрасывает дробную часть числа.

Округление с помощью round()

Оператор round() предназначен для округления чисел по правилам математики. Если оператору передать только дробное число, то он вернет округленную целую часть. При этом результат будет являться целочисленным ( integer ).

round(3.5)

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

round(3.245, 2)

Если же в качестве второго аргумента передать 0 , что мы получим округленное до целого вещественное число.

round(3.14, 0)

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

Для работы с библиотекой math ее надо для начала подключить. Это стандартная библиотека и она уже входит в установку Python.

Для этого подключения библиотеки используем команду import .

import math

В данной библиотеке у нас есть дву функции округления. Первая функции floor() для округления до ближайшего меньшего целого (округление в пол).

math.floor(3.9)

Вторая функция ceil() для округления до ближайшего большего целого (округление в потолок).

math.ceil(3.14)

Вывод округленных значений

Не всегда нам требуется округлять числа. Иногда достаточно сделать только округленный вывод значения на печать или терминал, чтобы такое число не занимало много места.

Это можно сделать используя формат или f-строки. Мы используем f-строку.

'π = 3.1416'

Давайте разберем запись. Чтобы указать формат вывода числа, то после этого числа или переменной мы ставим символ : . Далее мы можем указать сколько печатных символов отводиться для вывода данного числа. В нашем случае этот аргумент мы опустили, т.к. нам это не важно. После этого мы ставим . и указываем сколько символов после запятой нам необходимо оставить. В нашем примере мы оставляем 4 символа после запятой в выводе числа π. И последнее ставим символ f указывая, что это число с плавающей точкой.

Так же мы с вами видим, что при выводе форматированного значение округление происходит по правилам математики.

Добавить комментарий

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