如何格式化具有给定精度和零填充的浮点数?

How can I format a float with given precision and zero padding?

我已经查看了几十个类似的问题 - 我很高兴得到 link 另一个答案 - 但我想在 python 中用零填充浮点数3.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'