I agree a standard library for JS would be great, but .1 + .2 != .3 is the case in several languages and is not anything to do with JS.
This also is or can be the case in C, C++, Clojure, Python, and many other languages [1].
Re:Deno Is Webby
by noveltyaccount on Wednesday March 16, 2022 @10:58PM
(#30707144)
Yes... It's an artifact of floating points. My issue is that JS only has floating points and not Ints and Decimal.
There is a stage 1 proposal for BigDecimal.
JS has had integers since pretty much day 1 with bitwise operators. They just (from a user perspective) convert back afterward. If you were choosing just one though, floats would definitely be a better choice than integers.
It's also possible to make length 1 typed arrays of integers and operate on them if you really need. Then, as you mention there's BigInt numbers which are supported on the last few versions of every major browser except IE11.
(I know BigInt is a thing and Temporal is coming.)