У меня есть функция, принимающая аргументы с плавающей запятой (обычно целые или десятичные числа с одной значащей цифрой), и мне нужно вывести значения в строке с двумя десятичными знаками (5 -> 5.00, 5.5 -> 5.50 и т. Д.). Как я могу это сделать в Python?
python
string
programming-languages
floating-point
MarathonStudios
источник
источник
d=3
"{:.{}f}".format(5, d)
Форматирование f-строки :
Это было нововведением в Python 3.6 - строка, как обычно, помещается в кавычки и добавляется
f'...
перед ней так же, как иr'...
для необработанной строки. Затем вы помещаете все, что хотите поместить в свою строку, переменные, числа, в фигурные скобкиf'some string text with a {variable} or {number} within that text'
- и Python выполняет оценку так же, как и предыдущие методы форматирования строк, за исключением того, что этот метод гораздо более читабелен.Вы можете видеть в этом примере, что мы форматируем с десятичными знаками аналогично предыдущим методам форматирования строк.
NB
a
может быть числом, переменной или даже выражением, напримерf'{3*my_func(3.14):02f}'
.Забегая вперед, с новым кодом я предпочитаю f-строки обычным методам% s или str.format (), поскольку f-строки могут быть намного более читаемыми и часто намного быстрее .
источник
Форматирование строки:
источник
math.floor
,math.ceil
илиround
Использование форматирования строки Python.
источник
Форматирование строки:
ИЛИ
Функция раунда может использоваться:
В round () хорошо то, что мы можем сохранить этот результат в другой переменной, а затем использовать его для других целей.
источник
round
. Его не следует использовать только для демонстрации .round(5.0001, 2)
->5.0
, не'5.00'
Кратчайший синтаксис Python 3:
источник
Если вы действительно хотите изменить само число, а не только отображать его по-другому, используйте format ()
Отформатируйте его до двух знаков после запятой:
пример:
источник
Я знаю, что это старый вопрос, но я изо всех сил пытался найти ответ. Вот что я придумал:
Python 3:
источник
Использование синтаксиса Python 3:
источник
Если вы хотите получить значение с плавающей запятой с двумя десятичными знаками, ограниченными во время вызова input,
Проверьте это ~
источник
eval
веревка, когда можно было простоround
? В любом случае это даже не работает должным образом, так как если вы кормите5
, вы получаете5.0
вместо того,5.00
что хочет OP.nan
иinf
.