对于旧版本的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}')
答案 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.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
文档: