Что такое современная версия для печати% 6.4f? - PullRequest
0 голосов
/ 25 апреля 2018

Для более старой версии Python можно напечатать строку следующим образом:

>>> print('X = %6.4f' % 12312312.423141)
X = 12312312.4231

И в Python <3.6, помещая float в форматированную строку и печатая строку. В современном Python можно было бы сделать: </p>

>>> print('X = {num}'.format(num=round(12312312.423141, 4)))
X = 12312312.4231

Но это явно округление числа с плавающей запятой до 4 десятичных знаков. Есть ли способ напечатать число с плавающей точкой, как по старинке, указав в 6-значном поле 4 десятичных знака? Например. https://stackoverflow.com/a/15215445/610569

Для Python> 3.6, как насчет fstring? Будет ли это выглядеть так?

>>> num=12312312.423141
>>> print(f'X = {num:6.4f}')

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Я не уверен, что вы спрашиваете, но ответить на вопрос в заголовке:

Новая версия Python3.6 'X = %6.4f' % 12312312.423141, как вы сказали, f'X = {12312312.423141:6.4f}'

Версия Python3.6 ниже 'X = {num:6.4f}'.format(num=12312312.423141)

0 голосов
/ 25 апреля 2018

Да, я также могу использовать %6.4f в строке str.format() и f'...'.

В Python> = 3.6:

>>> num=12312312.423141
>>> 'X = %6.4f' % num == 'X = {num:6.4f}'.format(num=num) == f'X = {num:6.4f}'
True

>>> print('X = %6.4f' % num)
X = 12312312.4231

>>> print('X = {num:6.4f}'.format(num=num))
X = 12312312.4231

>>> print(f'X = {num:6.4f}')
X = 12312312.4231

И документы:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...