Search code examples
javascriptfloating-accuracybignum

What is the standard solution in JavaScript for handling big numbers (BigNum)?


Is there a bignum built into JavaScript or browsers?

The alternate is loading an external library like

<script type="text/javascript" src="the_bignum_library.js"></script>

but that seems slow and may trigger a security warning.

I've considered basing my own off of http://github.com/silentmatt/javascript-biginteger or http://www.mainebrook.com/john/fun/euler.html. Alternately, is the solution to call into a Java bignum library such as apfloat?


Solution

  • Update(2019-08-19): BigInt is now part of Firefox and Chrome; you no longer need a library:

    const bigInt1 = 1111111111111111111111111111111n;
    const bigInt2 = BigInt("1111111111111111111111111111111")
    console.log((bigInt1 + bigInt2)+"")

    Original answer:

    If you need arbitrary-precision decimal numbers, use Javascript-bignum, as it is correct and fast.