python scientific notation with forced leading zero
Question: I want to have Python2.7 print out floating point numbers in scientific
notation, forced to start with 0. For instance, assume

    
    
    a=1234567890e12
    print '{:22.16E}'.format(a)
    1.2345678900000000E+21
    

However, I want a print output that looks like:

    
    
    0.1234567890000000E+22
    

Notice that the exponent is raised by one since the desired output is forced
to a leading zero. How can I achieve this? Thanks.


Answer: The fortranformat package will do what you are looking for.

    
    
    import fortranformat as ff
    
    a=1234567890e12
    lineformat = ff.FortranRecordWriter('(1E26.16)')
    lineformat.write([a])
    

Output:

    
    
    '    0.1234567890000000E+22'
    

