填充Python浮点数
我想给一些百分比值加上填充,这样在小数点前总是有3个数字。对于整数,我可以用'%03d'来实现——那对于浮点数有没有类似的呢?
'%.3f'可以用来控制小数点后面的位数,但'%03f'却没有任何效果。
4 个回答
10
你可以使用 str.zfill
这个方法:
str(3.3).zfill(5)
'003.3'
29
另外,如果你想使用 .format
方法:
{:6.1f}
↑ ↑
| |
# digits to pad | | # of decimal places to display
复制粘贴: {:6.1f}
这里的6包括小数点左边的数字、小数点本身,以及小数点右边的数字。
使用示例:
'{:6.2f}'.format(4.3)
Out[1]: ' 4.30'
f'{4.3:06.2f}'
Out[2]: '004.30'
'{:06.2f}'.format(4.3)
Out[3]: '004.30'
55
'%03.1f' 这个写法是有效的(1可以是任何数字,或者是空字符串):
>>> "%06.2f"%3.3
'003.30'
>>> "%04.f"%3.2
'0003'
需要注意的是,字段的宽度包括小数点和小数部分的数字。