python科学记数法强制前导零

Ehs*_*san 3 scientific-notation formatted-input python-2.7

我想让Python2.7以科学记数法打印出浮点数,强制从0开始。例如,假设

a=1234567890e12
print '{:22.16E}'.format(a)
1.2345678900000000E+21
Run Code Online (Sandbox Code Playgroud)

但是,我想要一个如下所示的打印输出:

0.1234567890000000E+22
Run Code Online (Sandbox Code Playgroud)

请注意,由于所需的输出被迫为前导零,因此指数增加了 1。我怎样才能实现这个目标?谢谢。

小智 5

fortranformat 包将满足您的需求。

import fortranformat as ff

a=1234567890e12
lineformat = ff.FortranRecordWriter('(1E26.16)')
lineformat.write([a])
Run Code Online (Sandbox Code Playgroud)

输出:

'    0.1234567890000000E+22'
Run Code Online (Sandbox Code Playgroud)