Search code examples
pythonscientific-notationfloating-point-conversion

Convert scientific notation to decimal - python


How do I convert a scientific notation to floating point number? Here is an example of what I want to avoid:

Python 2.7.3 (default, Apr 14 2012, 08:58:41) [GCC] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a=[78.40816326530613, 245068094.16326532]
>>> print a[0]/a[1]
3.19944395589e-07
>>> print float(a[0]/a[1])
3.19944395589e-07
>>> print float(a[0])/float(a[1])
3.19944395589e-07

Solution

  • The scientific notation is just a convenient way of printing a floating point number. When there are a lot of leading zeros as in your example, the scientific notation might be easier to read.

    In order to print a specific number of digits after a decimal point, you can specify a format string with print:

    print 'Number is: %.8f' % (float(a[0]/a[1]))
    

    Or you can use format() as in the other answers.