9
votes

Comment puis-je gérer des nombres plus grands que 17 chiffres dans Firefox / IE7?

Pour une application Web, je veux pouvoir gérer les numéros jusqu'à 64 bits de taille. Pendant les tests, j'ai trouvé que JavaScript (ou le navigateur dans son ensemble) semble gérer jusqu'à 17 chiffres. Un nombre de 64 bits comporte un maximum de 20 chiffres, mais une fois que le JavaScript a géré le nombre, les 3 chiffres les moins importants sont arrondis et définis sur 0 .... Des idées d'où cela vient? Plus important encore, n'importe quelle idée de travailler autour de cela?


0 commentaires

4 Réponses :


5
votes

Je pense que vous devez les traiter comme des chaînes si vous avez atteint la limite JavaScript ( Voir ici )


0 commentaires

5
votes

en JavaScript, tous les numéros sont IEEE Double précision Numéros de points flottants, ce qui signifie que vous avoir environ 16 chiffres de précision; Le reste des 64 bits est réservé à l'exposant. Comme Fabien Notes, vous devrez travailler quelques astuces pour obtenir plus de précision si vous avez besoin de 64 bits.


0 commentaires

0
votes

Vous pouvez essayer de les diviser en deux ou plusieurs numéros (dans une classe peut-être), mais vous aurez peut-être besoin de certaines fonctions d'aide arithmétique pour travailler avec eux.

acclamations


0 commentaires

2
votes

Comme d'autres personnes note, JS implémente les doubles, vous devrez donc regarder ailleurs pour gérer des nombres plus importants. Bigint est une bibliothèque pour les calculs de précision arbitraires pour les entiers.


0 commentaires