web-dev-qa-db-fra.com

Quelle est la solution standard en JavaScript pour gérer les grands nombres (BigNum)?

Existe-t-il une bibliothèque bignum pour JavaScript ou intégrée que je peux inclure comme

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

?

Je pense que mes utilisateurs préféreraient entrer des nombres dans une page Web et attendre 7 secondes pour un résultat, plutôt que de télécharger un exécutable et de cliquer sur un tas d'écrans d'avertissement "cet exécutable pourrait éventuellement endommager votre ordinateur" pour l'installer.

J'ai envisagé de baser le mien sur http://github.com/silentmatt/javascript-biginteger ou http://www.mainebrook.com/john/fun/euler. html . Ou recommanderiez-vous d'appeler à partir de JavaScript dans une bibliothèque Java bignum telle qu'apfloat?

49
David Cary

Mise à jour (2019-08-19): BigInt fait maintenant partie de Firefox et Chrome; vous n'avez plus besoin d'une bibliothèque:

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

Réponse originale:

Si vous avez besoin de nombres décimaux de précision arbitraire, utilisez Javascript-bignum , car il est correct et rapide.

25
jnnnnn
3
Babiker