Bonjour Marc
Le 18 09 2007 à 23:03, frael a écrit :
Hello
Voila 2 méthodes pour arrondir un nombre à 2 décimales, ci-dessous
wdou2 et wdou3
dim wdou1, wdou2, wdou3, wdou20, wdou30 As Double
dim wst As String
wdou1 = 45.73 * 0.5
wdou2 = Round(wdou1 * 100)
wdou2 = wdou2 / 100
wst = Format(wdou1, "-0.00")
wdou3 =CDbl(wst)
wdou20 = wdou2 * 10000
wdou30 = wdou3 * 10000
• point d'arrêt: on voit que
wdou1 = 22,8649999999999984
wdou2 = 22,870000000000001
wst = 22,86
wdou3 = 22,8599999999999994
La bonne réponse est 22,87 (22,865 avec 3 décimales)
multiplié par 10000 l'erreur est plus flagrante :
wdou20 = 228700,
wdou30 = 228600,
--> pourquoi le Format rend un truc faux ?
--> et surtout, comment être sûr que le Round rend toujours un truc
juste ?
j'utilise toujours Round pour calculer et jusqu'à présent c'est juste.
Tu multiplies par 0,5. C'est le résultat le plus difficile pour les
arrondis comme le taux de TVA de 5.5 %
Mais avec round(wdou1*100)/100 je m'en suis toujours bien sorti
--> ou alors, quelle méthode fiable d'arrondi utiliser ?
Tests faits en 2007R4, avec les memes resultats sur macs PPC et
Intel, en X.10
Marc
jules
----------------------------------------
C'est par le bien-faire que se crée le bien-être
proverbe chinois
|