Skip to content
  • Damien George's avatar
    py/parsenum: Improve parsing of floating point numbers. · 84895f1a
    Damien George authored
    This patch improves parsing of floating point numbers by converting all the
    digits (integer and fractional) together into a number 1 or greater, and
    then applying the correct power of 10 at the very end.  In particular the
    multiple "multiply by 0.1" operations to build a fraction are now combined
    together and applied at the same time as the exponent, at the very end.
    
    This helps to retain precision during parsing of floats, and also includes
    a check that the number doesn't overflow during the parsing.  One benefit
    is that a float will have the same value no matter where the decimal point
    is located, eg 1.23 == 123e-2.
    84895f1a