我有一个采用浮点数的Python(2.7)代码,使用千位分隔的逗号和3个小数位对其进行格式化,然后在其后加上字符串“ sec”。
然后通过左对齐并设置20的宽度来进一步格式化结果:
num = '{:,.3f} sec'.format(1200300.4443333333)
print '{:<20}'.format(num) + 'more'
输出:
1,200,300.444 sec more
我想将其压缩为一个format
调用,但是我不知道如何正确地使用字符串文字的宽度。
我尝试了以下操作:
num = '{:,.3f}'.format(1200300.4443333333)
print '{:<20} sec'.format(num) + 'more'
但是输出不一样:
1,200,300.444 secmore
我还尝试了以下方法:
num = '{:,.3f}'.format(1200300.4443333333)
print '{:<20 sec}'.format(num) + 'more'
但是失败了:
Traceback (most recent call last):
File "test.py", line 8, in <module>
print '{:<20 sec}'.format(num) + 'more'
ValueError: Invalid conversion specification
有什么方法可以将初始代码压缩为单个format
调用?
答案 0 :(得分:-2)
不确定是否是,但是以下代码可能是您想要的:
num = '{:<20,.3f} sec more'.format(1200300.4443333333)
print(num)
# 1,200,300.444 sec more