Подтвердить что ты не робот

Отображение поплавка с двумя десятичными знаками в Python

У меня есть функция, принимающая аргументы float (обычно целые числа или десятичные числа с одной значащей цифрой), и мне нужно выводить значения в строке с двумя десятичными знаками (5 → 5,00, 5,5 → 5,50 и т.д.). Как я могу это сделать в Python?

4b9b3361

Ответ 1

Для этого можно использовать оператор форматирования строк:

>>> '%.2f' % 1.234
'1.23'
>>> '%.2f' % 5.0
'5.00'

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

Ответ 2

Поскольку этот пост может быть здесь некоторое время, давайте также укажем синтаксис Python 3:

"{:.2f}".format(5)

Ответ 3

форматирование f-строки:

Это новое в Python 3.6 - строка помещается в кавычки, как обычно, с добавлением f'... же, как вы бы r'... для необработанной строки. Затем вы помещаете все, что вы хотите поместить в вашу строку, переменные, числа, внутри фигурных скобок f'some string text with a {variable} or {number} within that text' - и Python оценивает как с предыдущими методами форматирования строки, за исключением того, что это метод гораздо более читабелен.

>>>a = 3.141592
>>>print(f'My number is {a:.2f} - look at the nice rounding!')

My number is 3.14 - look at the nice rounding!

Вы можете видеть в этом примере, что мы форматируем с десятичными разрядами аналогично предыдущим методам форматирования строк.

NB a может быть числом, переменной или даже выражением, например, f'{3*my_func(3.14):02f}'.

В дальнейшем, с новым кодом, f-строки должны быть предпочтительнее, чем обычные методы% s или str.format(), так как f-строки намного быстрее.

Ответ 4

Форматирование строк:

print "%.2f" % 5

Ответ 5

Использование форматирования строки python.

>>> "%0.2f" % 3
'3.00'

Ответ 6

Использование синтаксиса Python 3:

print('%.2f' % number)

Ответ 7

Если вы действительно хотите изменить само число, а не только отображать его по-другому, используйте format()

Отформатируйте его до 2 десятичных знаков:

format(value, '.2f')

example:

>>> format(5.00000, '.2f')
'5.00'

Ответ 8

Я знаю, что это старый вопрос, но я изо всех сил пытался найти ответ сам. Вот что я придумала:

Python 3:


num_dict = { 'num': 0.123, 'num2':0.127}
"{0[num]:.2f}_{0[num]:.2f}".format(num_dict)

#output:  
0.12_0.13