Python打印浮动填充空格而不是零

时间:2017-08-03 08:12:57

标签: python python-2.7

我有一个浮动myfloat = 0.002我想用空格填充' '打印而不是尾随零。

让我们说我想用空格填充打印myfloat右对齐到5个空格。为清楚起见,我将在我的浮动后打印'|'

我想要的: 0.002 |

填充印刷(我知道)给出了:

>>> print(str(myfloat) + '|') # no padding, formatting
0.002|
>>> print('%.5f' % myfloat + '|') 
0.00200|
>>> print('{0:<5f}|'.format(myfloat))
0.002000|
>>> print('{0:.5f}|'.format(myfloat)) 
0.00200|

我知道print('{0:<Xf}|'.format(myfloat))在X&gt;之后用空格填充8左右。我不想要任何尾随零。

我在同一行打印多个浮点数。它们具有不同的字符串长度,我希望它们使用空格填充而不是零来均匀对齐,因此静态填充字符串将不起作用。

例如,假设我想在两行上打印myfloatlist1 = [0.01, 0.002, 0.0003, 0.00004]myfloatlist2 = [0.00004, 0.0003, 0.002, 0.01]的内容,每行都有相同的间隔填充:

0.01     0.002    0.0003   0.00004 
0.00004  0.0003   0.002    0.01

无论如何用空格填充浮动打印(不将浮动转换为字符串或其他东西)?

3 个答案:

答案 0 :(得分:5)

这个怎么样?

{% for case in casestudies %}

编辑:按照Gall的评论,这就足够了

>>> '{0: <8}|'.format(str(myfloat))
'0.002   |'

答案 1 :(得分:1)

试试这个:

print(str(myfloat).ljust(6,'')+'|')

如果您需要更多空格,只需将6更改为您想要的任何内容。

答案 2 :(得分:-1)

你可以简单地做

myfloat = 0.002
pads = ' '*4 # 4 is the number of trailing spaces I am adding. Change accordingly
marker = '|'
print(str(myfloat)+pads+marker) #0.002    |