Python 如何使用给定的精度和零填充设置浮点的格式?

Python 如何使用给定的精度和零填充设置浮点的格式?,python,string,python-3.x,string.format,Python,String,Python 3.x,String.format,我已经看了几十个类似的问题——我很高兴能找到另一个答案的链接——但我想在Python3.3中对浮点数进行零填充 n = 2.02 print( "{?????}".format(n)) # desired output: 002.0200 浮点的精度很容易,但我也不能得到零填充。什么进入???的您可以使用格式说明符,如下所示 >>> "{:0>8.4f}".format(2.02) '002.0200' >>> print("{:0>8.4f}"

我已经看了几十个类似的问题——我很高兴能找到另一个答案的链接——但我想在Python3.3中对浮点数进行零填充

n = 2.02
print( "{?????}".format(n))
# desired output:
002.0200

浮点的精度很容易,但我也不能得到零填充。什么进入???的

您可以使用格式说明符,如下所示

>>> "{:0>8.4f}".format(2.02)
'002.0200'
>>> print("{:0>8.4f}".format(2.02))
002.0200
>>> 

这里,
8
表示总宽度,
.4
表示精度。而
0>
意味着字符串必须右对齐,并从左侧填充
0

您可以使用字符串的新旧格式设置方法:

In [9]: "%08.4f" %(2.02)
Out[9]: '002.0200'

In [10]: "{:08.4f}".format(2.02)
Out[10]: '002.0200'

我在凌晨4点醒来,意识到我一直在尝试使用
“{:08.4f}”.format(2.02)
,因为我试图在两个地方进行填充。完全忽略了我必须解释预期输出的全部宽度这一事实。谢谢你的帮助。接受这个答案是因为你提供了额外的解释。