-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
eppy converts numbers in scientific notation to plain decimal notation, which might be out of range when processed by E+ #289
Comments
I see this as a critical bug. I need a couple of days to get to this. Can you tell me which versions of E+ this happened in. |
Thank you! I'm using E+ 9.2. FYI, it happens both on Windows and Mac. |
@wannizhang , Can you paste the relevant parts of the error message here |
re-reading your first comment, It is clear that the limitation is E+, not in eppy. |
@santoshphilip Yes, I think it's a limit of E+. The .err file of E+ doesn't show the specific limit, but I tried that it allows 20 digits at most (1e19 / -1e18). |
Can you test less number of digits. Try 19, 18, 17, 16, 15. Find out where E+ stops failing. If you do that, I can update the code with some level of confidence that we are doing the right thing. To clarify what is happening internally: |
@santoshphilip Yeah I've tried different numbers of digits and it starts to fail at 20 digits (19 works). |
Problem: E+ is unable to read numbers that are wider than 19 digits Solution: format these numbers in scientific notation
I fixed this in branch @wannizhang , can you do an E+ run and test |
merged into develop |
It seems that when parsing numbers, eppy will convert those scientific notations (such as 1e+10) to plain decimal notations. I got a idf file with an object like this:
After parsed by eppy, it becomes
Then when it's simulated with E+, an error
** Severe ** stoll: out of range
will occur, because the numbers have too many digits.Not sure if this is a problem easy to fix in the source code. Otherwise I can always check the idf files to remove those extreme large numbers.
Thanks in advance!
The text was updated successfully, but these errors were encountered: