Skip to content

Incorrect Scientific Notation Conversion When Parsing Floating-Point Numbers #87

@jiemoL

Description

@jiemoL

When reading floating-point numbers from save, values are being incorrectly converted to scientific notation with dramatically wrong exponents. This appears to be a parsing/formatting issue where decimal numbers are being misinterpreted.

Expected Behavior:​​

  • Input 2.00 should be parsed as 2.00
  • Input 4.00 should be parsed as 4.00
  • Input 31.10 should be parsed as 31.10

Actual Behavior:

  • 2.00 becomes 2E+09
  • 4.00 becomes 4E+09
  • 31.10 becomes 3.11097E+10

​Possible Causes:​​
In some regions, a comma (,) is used as the decimal point, while a dot (.) serves as the thousand separator.
The program might misinterpret "2.00" as the thousand format for 200, and then incorrectly convert it to 2E+09.
The program incorrectly treats the decimal point (.) as a thousands separator, causing '31.10' to be parsed as 3110. This value may then be erroneously amplified to 3.11097E+10 through subsequent calculations or conversions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions