Décimales importunes
Résolu
Bonjour,
Excel 2016
Je suis en train de me débarrasser des décimales générées parfois dans les calculs. Pour ça, j'ai écrit la formule :
=SI(C10-ARRONDI(C10;2)<>0;C10;"")
C10 contient :
20520.99
et pas d'autres décimales :
et le test
=C10-ARRONDI(C10;2)<>0
renvoie VRAI.
Est-ce que mes neurones sont en train de fondre ?
Merci par avance.
Daniel
Configuration: Windows / Firefox 67.0
Excel 2016
Je suis en train de me débarrasser des décimales générées parfois dans les calculs. Pour ça, j'ai écrit la formule :
=SI(C10-ARRONDI(C10;2)<>0;C10;"")
C10 contient :
20520.99
et pas d'autres décimales :
et le test
=C10-ARRONDI(C10;2)<>0
renvoie VRAI.
Est-ce que mes neurones sont en train de fondre ?
Merci par avance.
Daniel
2 réponses
-
ContributeurBonjour,
tu lis 20520.99 mais le résultat calculé est peut-être avec une différence à la 12e ou 15e décimale, que tu ne vois pas.
Fait =C10 - 20520.99 - 0 pour la visualiser (important le - 0 !)
C'est dû aux erreurs de conversion les nombres étant stockés en binaire.
eric
-
-
Contributeurcopie-colle la formule, tu n'as mis que la moitié... :
=C10-20520.99-0
Un peu de lecture : https://fr.wikipedia.org/wiki/IEEE_754
eric -
@eriiicNon, c'est bien ce que j'ai fait. Ce que je ne comprends pas, c'est le rôle du "-0".
Sinon, je connais le problème de conversion des nombres en virgule flottante. C'est ces nombres que je piste dans mon classeur.
Daniel -
ContributeurC'est pour forcer l'apparition du pouième 1E-13 (par exemple)
Tu soustrais au résultat un vrai 0 pour ne plus avoir l'arrondi d'affichage =0 tout rond
Teste avec et sans, tu verras qu'il est souvent nécessaire pour bien visualiser cette anomalie de conversion (qui n'est pas une anomalie d'ailleurs). -
@eriiicMerci, je note le truc.
Daniel
-
