Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel Carollo
Bonjour Pierre!
Les resultats ne sont pas fantaisistes du tout, ce sont tout simplement des erreurs d'arrondi. Comme chacun le sait, les nombres sont stockes en binaire (0 ou 1) et tout se ramene a cela. Il n'y a pas de probleme avec les entiers, sous reserve de se limiter a la capacite de stockage, par contre, il y a des problemes d'arrondis avec de nombres decimaux: s'il est facile de representer 0.5 (c'est tout simplement 2 a la puissance -1), 0.1 ne represente pas une puissance de 2 entiere, d'ou le probleme d'arrondi. On contrecarre ce probleme en augmentant la precision, ou en travaillant sur des entiers (en multipliant les operandes par 100, dans votre cas par exemple ).
J'espere que ca vous donne quelques idees.
-- Daniel :-)
Computing Technologies International - www.computing-tech.com - We provide solutions...
"Pierre CHAPON" wrote in message news:
Bonjour
Sous access 97 j'ai une table 1 dont la structure est la suivante : Nbr1 : numérique réel simple Nbr2 : numérique réel simple
Le Nbr1= 1 576.55 Le Nbr2 = 0
Dans un requête j'effectue l'opération Nbr3 : [Nbr1]-[Nbr2] J'obtiens 1576.55004882813
Le Nbr1= 2 185.44 Le Nbr2 = 1 Avec la même requête Nbr3 : [Nbr1]-[Nbr2] J'obtiens 2184.43994140625
Access aurait-il quelques problèmes dans les calculs ?
Merci pour vos éclaircissements.
Bonjour Pierre!
Les resultats ne sont pas fantaisistes du tout, ce sont tout simplement des
erreurs d'arrondi. Comme chacun le sait, les nombres sont stockes en binaire
(0 ou 1) et tout se ramene a cela. Il n'y a pas de probleme avec les
entiers, sous reserve de se limiter a la capacite de stockage, par contre,
il y a des problemes d'arrondis avec de nombres decimaux: s'il est facile de
representer 0.5 (c'est tout simplement 2 a la puissance -1), 0.1 ne
represente pas une puissance de 2 entiere, d'ou le probleme d'arrondi. On
contrecarre ce probleme en augmentant la precision, ou en travaillant sur
des entiers (en multipliant les operandes par 100, dans votre cas par
exemple ).
J'espere que ca vous donne quelques idees.
--
Daniel :-)
Computing Technologies International - www.computing-tech.com - We
provide solutions...
"Pierre CHAPON" <pierre.chapon@yahoo.fr> wrote in message
news:ef0TqcJlDHA.2000@TK2MSFTNGP12.phx.gbl...
Bonjour
Sous access 97
j'ai une table 1 dont la structure est la suivante :
Nbr1 : numérique réel simple
Nbr2 : numérique réel simple
Le Nbr1= 1 576.55
Le Nbr2 = 0
Dans un requête j'effectue l'opération Nbr3 : [Nbr1]-[Nbr2]
J'obtiens 1576.55004882813
Le Nbr1= 2 185.44
Le Nbr2 = 1
Avec la même requête Nbr3 : [Nbr1]-[Nbr2]
J'obtiens 2184.43994140625
Access aurait-il quelques problèmes dans les calculs ?
Les resultats ne sont pas fantaisistes du tout, ce sont tout simplement des erreurs d'arrondi. Comme chacun le sait, les nombres sont stockes en binaire (0 ou 1) et tout se ramene a cela. Il n'y a pas de probleme avec les entiers, sous reserve de se limiter a la capacite de stockage, par contre, il y a des problemes d'arrondis avec de nombres decimaux: s'il est facile de representer 0.5 (c'est tout simplement 2 a la puissance -1), 0.1 ne represente pas une puissance de 2 entiere, d'ou le probleme d'arrondi. On contrecarre ce probleme en augmentant la precision, ou en travaillant sur des entiers (en multipliant les operandes par 100, dans votre cas par exemple ).
J'espere que ca vous donne quelques idees.
-- Daniel :-)
Computing Technologies International - www.computing-tech.com - We provide solutions...
"Pierre CHAPON" wrote in message news:
Bonjour
Sous access 97 j'ai une table 1 dont la structure est la suivante : Nbr1 : numérique réel simple Nbr2 : numérique réel simple
Le Nbr1= 1 576.55 Le Nbr2 = 0
Dans un requête j'effectue l'opération Nbr3 : [Nbr1]-[Nbr2] J'obtiens 1576.55004882813
Le Nbr1= 2 185.44 Le Nbr2 = 1 Avec la même requête Nbr3 : [Nbr1]-[Nbr2] J'obtiens 2184.43994140625
Access aurait-il quelques problèmes dans les calculs ?
Merci pour vos éclaircissements.
J-Pierre
Bonjour,
essaie Nbr3 = round([Nbr1]-[Nbr2],2)
je crois que round n'est disponible qu'à partir d'access 2000, si tu es en 97, fais une recherche sur Google, tu trouveras du code qui fait ça http://groups.google.com/groups?oi=djq&as_ugroup=microsoft.public.fr.access
J-Pierre
Bonjour,
essaie
Nbr3 = round([Nbr1]-[Nbr2],2)
je crois que round n'est disponible qu'à partir d'access 2000, si tu es en 97, fais une recherche sur Google, tu trouveras du code
qui fait ça
http://groups.google.com/groups?oi=djq&as_ugroup=microsoft.public.fr.access
je crois que round n'est disponible qu'à partir d'access 2000, si tu es en 97, fais une recherche sur Google, tu trouveras du code qui fait ça http://groups.google.com/groups?oi=djq&as_ugroup=microsoft.public.fr.access
J-Pierre
Gafish
Bonjour,
Il y a cette fonction qui marche très bien : http://www.mvps.org/accessfr/modules/mdl0054.htm
Arnaud
"J-Pierre" a écrit dans le message de news: #
Bonjour,
essaie Nbr3 = round([Nbr1]-[Nbr2],2)
je crois que round n'est disponible qu'à partir d'access 2000, si tu es en 97, fais une recherche sur Google, tu trouveras du code