%6.4f的现代印刷版是什么?

时间:2018-04-25 08:05:32

标签: python string printing

对于旧版本的Python,可以打印字符串:

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

在Python< 3.6,将浮点数放入格式化字符串并打印字符串。在现代的python中,人们可以做到:

>>> 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 :(得分:3)

我不确定你在问什么,但要回答标题中的问题:

'X = %6.4f' % 12312312.423141的新python3.6版本正如您所说f'X = {12312312.423141:6.4f}'

以下python3.6版本为'X = {num:6.4f}'.format(num=12312312.423141)

答案 1 :(得分:-1)

是的,我也可以使用%6.4fstr.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

文档:

相关问题