In a JavaScript console, type this:
> 9112347935156469760
9112347935156470000
Ooops. And that's not a float!
This occurs because JavaScript uses double precision floats to store numbers.
So according to
IEEE floating point definition
Show archive.org snapshot
only numbers between -(2^53 - 1)
(-9007199254740991) and 2^53 - 1
(9007199254740991) can safely be represented in JavaScript.
Note that ECMAScript 6 will probably also offer
Number.MAX_SAFE_INTEGER
Show archive.org snapshot
(and Number.MAX_SAFE_INTEGER
) that point to those numbers, but browser support for that is still scarce.
For arbitrary large numbers (even >= 2^53
),
BigInt objects
Show archive.org snapshot
can be used in all major browsers.
Posted by Tobias Kraze to makandra dev (2014-11-10 17:09)