Pb de nombres donnant des résultats surprenants

Messages postés
5
Date d'inscription
jeudi 19 septembre 2002
Statut
Membre
Dernière intervention
21 octobre 2002
-
Messages postés
5
Date d'inscription
jeudi 19 septembre 2002
Statut
Membre
Dernière intervention
21 octobre 2002
-
Bonjour,

J'aurai besoin d'aide car sur mon programme j'effectue des tests genre
if a<=b-c then
else...
a,b et c sont des double
le pb c'est que lorsque on a égalité des deux termes vba ne semble pas toujours reconnaitre le test, en effet si j'ai a=b-c vb ne reconnait pas toujours l'égalité : lorsque je fais dans un coin a-b+c j'ai un terme en 10^-17 et qui semble tous fausser

n'y a t'il pas un moyen d'éviter ce genre de résidu en se limitant a soit un autre type que double soit faire qu'on ai au max trois chiffres derrière la virgule ou autre chose ou peut etre peut on m'expliquer d'ou viennent ces résidus de nombre qui faussent tout?

Merci beaucoup d'avance
Alex 8-)

2 réponses

Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
les calculs en double se font avec 15 chiffres significatifs : 0, et 15 chiffres ou 123, et 12 chiffres
....

Si tes nombres sont inférieurs à 1, essaie
If (a < b - c) Or (a - b + c < 10 ^ -15) Then

sinon remplace 10 ^ -15 par 10 ^ -14, ....
Messages postés
5
Date d'inscription
jeudi 19 septembre 2002
Statut
Membre
Dernière intervention
21 octobre 2002

Merci

Mais est ce que qqn pourrait m'expliquer d'ou vient ce 10^-17 pour des calculs genre .1-.15+.05 parce que ca devrait valoir 0 et c'est ce que mon test doit chercher?
Alex