Menu

Décimales importunes [Résolu]

Messages postés
580
Date d'inscription
mardi 5 juin 2018
Statut
Membre
Dernière intervention
15 juillet 2019
-
Bonjour,

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
Afficher la suite 

2 réponses

Messages postés
22771
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 juillet 2019
5550
0
Merci
Bonjour,

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
Commenter la réponse de eriiic
Messages postés
580
Date d'inscription
mardi 5 juin 2018
Statut
Membre
Dernière intervention
15 juillet 2019
41
0
Merci
Tu as raison ! J'ai pourtant affiché 16 décimales et je ne vois rien :



Mais je ne comprends pas ce que le "-0" apporte. Si tu peux me l'expliquer ?

Merci.

Daniel
eriiic
Messages postés
22771
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 juillet 2019
5550 -
copie-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
danielc0
Messages postés
580
Date d'inscription
mardi 5 juin 2018
Statut
Membre
Dernière intervention
15 juillet 2019
41 > eriiic
Messages postés
22771
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 juillet 2019
-
Non, 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
eriiic
Messages postés
22771
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 juillet 2019
5550 -
C'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).
danielc0
Messages postés
580
Date d'inscription
mardi 5 juin 2018
Statut
Membre
Dernière intervention
15 juillet 2019
41 > eriiic
Messages postés
22771
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
12 juillet 2019
-
Merci, je note le truc.
Daniel
Commenter la réponse de danielc0