我想填充一些百分比值,以便小数点前总是有 3 个单位。使用整数我可以使用 '%03d' - 是否有等效的浮点数?
'%.3f' 适用于小数点后,但 '%03f' 什么也不做。
我想填充一些百分比值,以便小数点前总是有 3 个单位。使用整数我可以使用 '%03d' - 是否有等效的浮点数?
'%.3f' 适用于小数点后,但 '%03f' 什么也不做。
'%03.1f' 有效(1 可以是任何数字或空字符串):
>>> "%06.2f"%3.3
'003.30'
>>> "%04.f"%3.2
'0003'
请注意,字段宽度包括小数位和小数位。
或者,如果您想使用.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'
您也可以使用 zfill。
str(3.3).zfill(5)
'003.3'
一个简短的例子:
var3= 123.45678
print(
f'rounded1 \t {var3:.1f} \n'
f'rounded2 \t {var3:.2f} \n'
f'zero_pad1 \t {var3:06.1f} \n' #<-- important line
f'zero_pad2 \t {var3:07.1f}\n' #<-- important line
f'scientific1 \t {var3:.1e}\n'
f'scientific2 \t {var3:.2e}\n'
)
给出输出
rounded1 123.5
rounded2 123.46
zero_pad1 0123.5
zero_pad2 00123.5
scientific1 1.2e+02
scientific2 1.23e+02