Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Scientific notation with forced leading zero

I want to have Python 2.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?

like image 610
Ehsan Avatar asked May 22 '26 23:05

Ehsan


1 Answers

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'
like image 66
Greg Avatar answered Jun 01 '26 12:06

Greg



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!