OVH Cloud OVH Cloud

Arrondi en VBA - résultat curieux

2 réponses
Avatar
JD
Bonjour,

Quelqu'un pourrait t'il m'expliquer le point suivant.

En vba, je fais le calcul suivant :
rst1![Plus value] = Round(A * B, 2) - Round(C *D, 2)
le résultat est inscrit dans la table. quand je regarde ce qui est
enregistré j'ai : 0.7199999999998

Comment la différence entre deux nombres arrondis à 2 chiffres aprés la
virgule peut donner un nombre avec 10 chiffres aprés la virgule ????

Bien-sûr, si je refais un arrondi à la fin, je peux obtenir ce que je veux,
mais comment expliquer cela ?


Merci

2 réponses

Avatar
Jessy Sempere [MVP]
Bonjour

Ah!!!!!
Toujours c'est histoire de virgule flottante mais aussi du type de donnée
que tu définis pour tes variable...

Essais :
rst1![Plus value] = cdec(Round(A * B, 2)) - cdec(Round(C *D, 2))

ou alors :
a= cdec(tavaleur)
bÍec(tavaleur)
c=...

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"JD" a écrit dans le message de
news:
Bonjour,

Quelqu'un pourrait t'il m'expliquer le point suivant.

En vba, je fais le calcul suivant :
rst1![Plus value] = Round(A * B, 2) - Round(C *D, 2)
le résultat est inscrit dans la table. quand je regarde ce qui est
enregistré j'ai : 0.7199999999998

Comment la différence entre deux nombres arrondis à 2 chiffres aprés la
virgule peut donner un nombre avec 10 chiffres aprés la virgule ????

Bien-sûr, si je refais un arrondi à la fin, je peux obtenir ce que je
veux,

mais comment expliquer cela ?


Merci




Avatar
JD
Merci pour ces précisions.

JD



"Jessy Sempere [MVP]" a écrit dans le message de
news: 435f8450$
Bonjour

Ah!!!!!
Toujours c'est histoire de virgule flottante mais aussi du type de donnée
que tu définis pour tes variable...

Essais :
rst1![Plus value] = cdec(Round(A * B, 2)) - cdec(Round(C *D, 2))

ou alors :
a= cdec(tavaleur)
bÍec(tavaleur)
c=...

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"JD" a écrit dans le message de
news:
Bonjour,

Quelqu'un pourrait t'il m'expliquer le point suivant.

En vba, je fais le calcul suivant :
rst1![Plus value] = Round(A * B, 2) - Round(C *D, 2)
le résultat est inscrit dans la table. quand je regarde ce qui est
enregistré j'ai : 0.7199999999998

Comment la différence entre deux nombres arrondis à 2 chiffres aprés la
virgule peut donner un nombre avec 10 chiffres aprés la virgule ????

Bien-sûr, si je refais un arrondi à la fin, je peux obtenir ce que je
veux,

mais comment expliquer cela ?


Merci