Heads up: JavaScript does not like big numbers

Updated . Posted . Visible to the public. Repeats.

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.

Tobias Kraze
Last edit
Michael Leimstädtner
License
Source code in this card is licensed under the MIT License.
Posted by Tobias Kraze to makandra dev (2014-11-10 17:09)