Décimales importunes [Résolu/Fermé]

Signaler
Messages postés
684
Date d'inscription
mardi 5 juin 2018
Statut
Membre
Dernière intervention
5 septembre 2020
-
Messages postés
684
Date d'inscription
mardi 5 juin 2018
Statut
Membre
Dernière intervention
5 septembre 2020
-
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

2 réponses

Messages postés
23498
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 septembre 2020
6 356
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
Messages postés
684
Date d'inscription
mardi 5 juin 2018
Statut
Membre
Dernière intervention
5 septembre 2020
53
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
Messages postés
23498
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 septembre 2020
6 356
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
Messages postés
684
Date d'inscription
mardi 5 juin 2018
Statut
Membre
Dernière intervention
5 septembre 2020
53 >
Messages postés
23498
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 septembre 2020

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
Messages postés
23498
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 septembre 2020
6 356
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).
Messages postés
684
Date d'inscription
mardi 5 juin 2018
Statut
Membre
Dernière intervention
5 septembre 2020
53 >
Messages postés
23498
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 septembre 2020

Merci, je note le truc.
Daniel