打印浮点数的前导零

A B*_*Man 3 python

我想打印一些东西:

>>> print "%02i,%02i,%02g" % (3, 4, 5.66)
03,04,5.66
Run Code Online (Sandbox Code Playgroud)

但这不正确.如果你注意到,零被正确地预先设置为所有整数浮点(前两个数字).我需要它,如果小数点左边有一个数字,将有一个前导零.

即上面的解决方案应该返回:

03,04,05.66
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Joh*_*024 7

对于g,指定,宽度和精度:

>>> print "%02i,%02i,%05.3g" % (3, 4, 5.66)
03,04,05.66
Run Code Online (Sandbox Code Playgroud)

f与g

这里f和之间的区别g如下:

>>> print "%07.1f, %07.1f, %07.1f" % (1.23, 4567.8, 9012345678.2)
00001.2, 04567.8, 9012345678.2
>>> print "%07.1g, %07.1g, %07.1g" % (1.23, 4567.8, 9012345678.2)
0000001, 005e+03, 009e+09
Run Code Online (Sandbox Code Playgroud)

当给出大量数字时,只需使用更多空格即可g切换到科学记数法f.

同样,g在需要时,为小数字切换到科学记数法:

>>> print "%07.1f, %07.1f, %07.1f" % (.01, .0001, .000001)
00000.0, 00000.0, 00000.0
>>> print "%07.1g, %07.1g, %07.1g" % (.01, .0001, .000001)
0000.01, 00.0001, 001e-06
Run Code Online (Sandbox Code Playgroud)