Вопрос-Ответ

How to display a float with two decimal places? [duplicate]

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

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

Переведено автоматически
Ответ 1

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

"{:.2f}".format(5)
Ответ 2

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

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

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

Ответ 3

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

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

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

My number is 3.14 - look at the nice rounding!

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

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

Забегая вперед, скажу, что с новым кодом я предпочитаю f-строки обычным методам %s или str.format(), поскольку f-строки могут быть гораздо более удобочитаемыми и часто намного быстрее.

Ответ 4

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

a = 6.789809823
print('%.2f' %a)

или

print ("{0:.2f}".format(a)) 

Можно использовать функцию Round:

print(round(a, 2))

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

b = round(a, 2)
print(b)

Используйте round() - в основном для отображения.

python string