问题
I'm looking for a way to pad the float decimals with zeros:
This one is my reference:
In [37]: '{:5.5}'.format(round(4.123456, 5))
Out[37]: '4.1235'
I have this:
In [38]: '{:5.5}'.format(4.1)
Out[38]: ' 4.1'
But I would like to have this:
Out[38]: '4.1000'
回答1:
To format a floating point number with a given precision you should use the 'f' specifier. Without it the value is formatted as a string.
>>> '{:.4f}'.format(4.1)
'4.1000
You can also specify the minimum width of the complete output and the fill character:
>>> '{:07.4f}'.format(4.1)
'04.1000'
Here the output is padded on the left with zeros to be at least 7 characters.
回答2:
'{:5.5f}'.format(4.1)
The f in the format string makes the difference here. You can read more about the formatters in here, important for this task is
'f' Fixed point. Displays the number as a fixed-point number. The default precision is 6.
But you wanted just 4 digits after the comma, so better is
>>> '{:.4f}'.format(4.1)
'4.1000'
回答3:
'{:5.5f}'.format(4.1)
pyformat.info
来源:https://stackoverflow.com/questions/38186526/python-padding-decimals-with-zeros