Aussi disponible en : English · Español · Português · العربية
Convertisseur de notation scientifique
Les formes scientifique, d’ingénieur et complète d’un même nombre, calculées exactement, et les seuils où JavaScript change de format tout seul.
Qu’est-ce que la notation scientifique ?
La notation scientifique écrit un nombre comme un seul chiffre, une partie décimale et une puissance de dix : 6,02214076e23 plutôt qu’un 6 suivi de vingt-trois autres chiffres. La mantisse vaut toujours au moins 1 et moins de 10, ce qui rend la comparaison de deux nombres immédiate : l’exposant donne l’ordre de grandeur d’un coup d’œil, la mantisse la valeur à l’intérieur.
La notation d’ingénieur reprend l’idée avec une règle de plus : l’exposant doit être un multiple de trois. Ce n’est pas décoratif, c’est ce qui l’aligne sur les préfixes du SI — 12345 s’écrit donc 12,345e+3, douze kilo-quelque-chose et des poussières, et non 1,2345e+4 qui ne correspond à aucun préfixe. Cette page affiche les deux, avec le nom du préfixe lorsqu’il existe.
La troisième forme consiste simplement à écrire le nombre en entier. C’est celle qu’on emploie quand la valeur doit être lue plutôt que calculée, et c’est là que les convertisseurs se trompent sans le dire, car la plupart confient le nombre au langage dans lequel ils sont écrits et affichent ce qui en ressort.
Comment s’en servir
- Saisissez un nombre sous l’une des trois formes. En entier, avec un e, ou avec une virgule décimale : toutes sont lues. Les quatre boutons d’exemple couvrent un très grand nombre, un très petit, le point exact où JavaScript change de format, et un autre comportant plus de chiffres qu’on ne peut en stocker.
- Lisez les trois conversions. Scientifique, d’ingénieur et complète, chacune avec son bouton de copie, plus la puissance de dix et le préfixe SI correspondant.
- Comparez la dernière ligne aux trois premières. Cette ligne est ce que le Number de votre navigateur afficherait pour la même saisie. En cas d’écart, le paragraphe en dessous explique pourquoi.
Où JavaScript change de format tout seul
Tout convertisseur qui tourne dans un navigateur et confie sa saisie à un Number hérite d’un comportement inscrit dans le langage. ECMA-262 définit la conversion d’un nombre en chaîne, et bascule en notation exponentielle à deux points fixes : à partir de 1e21, et en dessous de 1e-6. Cent trillions s’écrit donc en entier 100000000000000000000, tandis que dix fois cette valeur s’affiche 1e+21. Rien n’a changé dans le nombre : c’est le format qui change, parce que la spécification le dit.
Le même plafond rattrape toFixed, qui est ce que la plupart du code emploie pour formater de l’argent. Demandez deux décimales sur 1e21 et vous récupérez la chaîne 1e+21, décimales comprises, parce que la spécification lui ordonne d’abandonner au-delà. Un total qui dépasse le trilliard cesse d’être un total et devient un morceau de notation scientifique au milieu d’une facture.
Du côté des petits nombres, l’effet est le même à l’envers : 0,000001 s’écrit en entier et 0,0000001 devient 1e-7. Les deux seuils sont vérifiés ici face au langage lui-même, à chaque puissance de dix de -30 à 30 : les chiffres de cette page sont mesurés, pas mémorisés.
Cette page contourne tout cela en convertissant directement les chiffres au lieu de passer par un nombre à virgule flottante — c’est pourquoi une valeur de cinquante chiffres en garde cinquante. La dernière ligne montre tout de même ce qu’aurait dit votre navigateur, car c’est ce que fera le reste de votre chaîne d’outils avec la même saisie.
Limites assumées
La conversion est exacte, mais ce n’est pas de l’arithmétique à précision arbitraire. Rien n’est additionné, multiplié ni arrondi : les chiffres saisis sont réagencés autour d’une virgule et dotés d’un exposant, ce qui est tout ce qu’est un changement de notation. Si vous devez calculer avec des nombres très longs, c’est un autre outil.
Les zéros finaux de la mantisse sont supprimés : 1200 devient 1,2e+3 et non 1,200e+3. C’est un choix réel, et il coûte quelque chose — en sciences ces zéros ont un sens, car 1,200e+3 annonce quatre chiffres significatifs et 1,2e+3 seulement deux. Si c’est la précision que vous suivez, la calculatrice de chiffres significatifs de ce site est la page qui les conserve.
La table des préfixes SI va de quecto à quetta, la plage adoptée par la Conférence générale des poids et mesures, les quatre plus récents datant de 2022. Au-delà, l’outil indique qu’aucun préfixe n’existe plutôt que d’en inventer un, et un nombre à l’unité de base le dit explicitement : ne pas porter de préfixe n’est pas la même chose qu’il n’en existe pas.
L’avertissement de perte de chiffres compare les chiffres que votre navigateur réaffiche à ceux que vous avez saisis, et non un flottant à un autre. Comparer deux doubles ne dirait rien, puisqu’une valeur ayant perdu de la précision devient le même double de toute façon. Un nombre comme 0,1, qu’aucun double ne stocke exactement, n’est donc pas signalé : il se réaffiche 0,1, et chacun peut le vérifier.
Pourquoi est-ce gratuit ?
La conversion est de l’arithmétique sur des chaînes qui s’exécute dans votre navigateur. Aucun serveur n’intervient : rien à facturer, aucun compte à créer.
Rien n’est envoyé et rien n’est conservé. Rechargez la page et elle aura oublié le nombre.