Pour une application Web, je veux être en mesure de gérer des nombres allant jusqu'à 64 bits. Lors des tests, j'ai trouvé que javascript (ou le navigateur dans son ensemble) semble gérer jusqu'à 17 chiffres. Un nombre de 64 bits a un maximum de 20 chiffres, mais après que le javascript a traité le nombre, les 3 chiffres les moins significatifs sont arrondis et mis à 0 .... Des idées d'où cela vient-il? Plus important encore, une idée de comment contourner cela?Comment gérer des nombres supérieurs à 17 chiffres dans Firefox/IE7?
Répondre
En Javascript, tous les chiffres sont IEEE double precision nombres à virgule flottante, ce qui signifie que vous avez seulement environ 16 chiffres de précision; le reste des 64 bits est réservé à l'exposant. Comme le note Fabien, vous aurez besoin de quelques astuces pour obtenir plus de précision si vous avez besoin de tous les 64 bits.
Je pense que vous devez les traiter comme des chaînes si vous avez atteint la limite Javascript (see here)
Vous pouvez essayer de les diviser en deux nombres ou plus (dans une classe peut-être), mais vous aurez peut-être besoin de fonctions d'assistance arithmétique pour les utiliser.
Vive
Comme d'autres notent, JS met en œuvre des doubles, vous aurez donc chercher ailleurs pour gérer plus grand nombre. BigInt est une bibliothèque pour les mathématiques de précision arbitraires pour les nombres entiers.
- 1. chiffres ronds PHP, ajouter des nombres décimaux
- 2. Gestion des grands nombres dans le code
- 3. comment contrôler les nombres de caractères (chiffres) avec jquery
- 4. Comment gérer les grands nombres entiers (64 bits) dans tcl?
- 5. somme des nombres formatés
- 6. Comment afficher les nombres longs dans Excel?
- 7. Comment gérer les nombres décimaux et les virgules séparés par des virgules dans CF?
- 8. Comment activer les onglets supérieurs dans Safari 4
- 9. Convertir des nombres entiers en chiffres romains en utilisant un schéma de traduction orienté syntaxiquement?
- 10. Comment concaténer des nombres et des chaînes pour formater des nombres dans T-SQL?
- 11. Formatage des nombres dans Scala?
- 12. Comment utiliser JavaScript pour le formatage des nombres?
- 13. Meilleure façon de gérer les nombres Null à partir d'objets proxy SOAP dans Flex/ActionScript
- 14. Comment concaténer des amuse-gueules supérieurs et inférieurs stockés séquentiellement dans un tableau?
- 15. Comment trier une colonne VARCHAR dans un serveur SQL contenant des mots et des nombres?
- 16. C++ arrondi des nombres loin de zéro
- 17. Java DecimalFormat inclut tous les chiffres à gauche
- 18. comment obtenir des nombres pour avoir une précision de .05?
- 19. Plage de nombres à virgule flottante dans .NET?
- 20. affichant des nombres aléatoires
- 21. Comment gérer des données énormes dans Java
- 22. CSS Suckerfish et les éléments actifs supérieurs
- 23. Comment gérer des données erronées?
- 24. Comment formater des nombres en JavaScript?
- 25. Comment comparer les nombres flottants dépendants des paramètres régionaux?
- 26. Quels sont les nombres à la fin des lignes dans une pile
- 27. Mysql répéter des nombres incrémentaux?
- 28. Comment formater des nombres dans WinGroup 1.1 DataGrid?
- 29. permettent chiffres uniquement pour les entrées
- 30. Tri des chaînes contenant des nombres d'une manière conviviale