I know this is for fun, but as general advice to the homies, if a language or system is doing something you didn’t expect, make sure to look at the documentation
oh god the reason is even stupider then I expected
Because large numbers use the e character in their string representation (e.g., 6.022e23 for 6.022 × 1023), using parseInt to truncate numbers will produce unexpected results when used on very large or very small numbers. parseInt should not be used as a substitute for Math.trunc().
Probably not an article about integer parsing, though. If the docs are that long, then because Microsoft does have a tendency to be overly verbose for things they think you need, just to have no docs for the stuff you actually need.
But I’m too busy being confused by the behaviors of libraries I previously didn’t read the documentation for, to read the documentation for every new library I adopt.
I know this is for fun, but as general advice to the homies, if a language or system is doing something you didn’t expect, make sure to look at the documentation
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt
This will save a lot of time and headaches
oh god the reason is even stupider then I expected
Holy fuck that is long. When the documentation for the integer parsing function is 10 pages long, there’s something seriously wrong with the language
Is it? I’ve seen longer articles for C# and not as many complaints about it.
Probably not an article about integer parsing, though. If the docs are that long, then because Microsoft does have a tendency to be overly verbose for things they think you need, just to have no docs for the stuff you actually need.
For reference here’s the relevant rust docs.
https://en.wikipedia.org/wiki/Principle_of_least_astonishment
Okay but this documentation is obviously wrong from the first sentence
Integers don’t have radices. It should read:
Either way, I still don’t understand the behaviour in the image.nvm, thanks m_f@discuss.onlineI’d advise to always look into the corresponding documentation before using something from any library.
But I’m too busy being confused by the behaviors of libraries I previously didn’t read the documentation for, to read the documentation for every new library I adopt.
(This is sarcasm…mostly.)
I’ll go with 5 hours of debugging, thank you very much!