%PercentLab

Arrondi, troncature, arrondi supérieur et le problème 0,1 + 0,2 — tout sur les décimales d'un calculateur

La différence entre arrondi, troncature et arrondi supérieur, le traitement des fractions de l'unité monétaire, l'arrondi bancaire, pourquoi 0,1 + 0,2 donne 0,30000000000000004 sur ordinateur et comment ce calculateur le gère.

Essayer dans le calculateur →

Les calculs de pourcentage comportent beaucoup de divisions et de multiplications décimales, et tombent donc rarement juste. Pour un même calcul, la façon de traiter les dernières décimales fait varier le résultat de quelques centimes ; connaître les règles permet d'expliquer les écarts entre tickets de caisse et devis.

Trois façons de traiter les décimales

On peut aussi changer d'unité. 12 345 € tronqués à la dizaine donnent 12 340 € ; arrondis à la centaine, 12 300 €.

Quel usage pour chacun

Décimales des nombres négatifs

Arrondir −2,5 donne-t-il −3 ou −2 ? Ce calculateur arrondit en s'éloignant de zéro, soit −3. La troncature va vers zéro (−1,239 → −1,23), l'arrondi supérieur s'éloigne de zéro. C'est une méthode qui applique la même règle à la grandeur (valeur absolue), quel que soit le signe du montant.

L'arrondi bancaire

Quand la valeur tombe exactement à la moitié (…5), on arrondit vers le chiffre pair (2,5 → 2, 3,5 → 4). Cette méthode est utilisée dans certains environnements comptables et de programmation pour réduire l'erreur qui penche d'un côté lorsqu'on arrondit un très grand nombre de fois. Les calculs courants et ce calculateur utilisent l'arrondi classique.

Pourquoi 0,1 + 0,2 donne 0,30000000000000004 sur ordinateur

L'ordinateur stocke les nombres en binaire. De même que 1/3 s'écrit 0,333… sans fin en décimal, 0,1 est une fraction binaire infinie : il n'est pas stocké exactement mais arrondi à une valeur très proche. C'est pourquoi, dans la plupart des langages, y compris JavaScript, 0,1 + 0,2 donne 0,30000000000000004.

Pour la même raison, la méthode courante pour arrondir 1,005 à la deuxième décimale (toFixed(2)) renvoie 1,00 et non 1,01, car 1,005 est en réalité stocké sous la forme 1,00499999….

Comment ce calculateur procède

Décimales affichées et valeur réelle

Le réglage Décimales, en haut de l'écran, ne change que le nombre de décimales affichées. 1 ÷ 3 × 100 vaut en interne 33,3333333333 et s'affiche 33,33 avec 2 décimales. Le bouton Copier copie la valeur affichée à l'écran.

En résumé

Des résultats qui diffèrent de quelques centimes à cause de règles d'arrondi différentes ne sont pas une erreur mais une différence de règle. Quand un montant ne tombe pas juste, vérifiez d'abord ① à quelle étape les décimales ont été traitées et ② quelles unité et méthode ont été utilisées.

Essayer dans le calculateur →