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
Olivier Besson
Tout simplement car il ne faut pas utiliser les doubles et les singles pour faire des calculs "justes". Ces 2 types sont des valeurs approchées. En fait 4,85 peut trés bien être 4,849999999999... ou 4,85000000001... Pour des calculs type comptables et/ou avec des valeurs "justes" il faut utiliser le type currency ou decimal.
--
Olivier Besson Pour m'ecrire, remplacer le <xx >de mon adresse par <com>. (Je ne lis pas mes mails frequement) To write me, replace <xx> part of my address by <com> (i don't read my mails very frequently).
"DC" a écrit dans le message de news: 05f901c396e4$8867a6b0$
quelqu'un peut-il expliquer pourquoi le calcul suivant : Int(100 * CDbl("4,85")) retourne la valeur 484 ???
Tout simplement car il ne faut pas utiliser les doubles et les singles pour
faire des calculs "justes". Ces 2 types sont des valeurs approchées. En fait
4,85 peut trés bien être 4,849999999999... ou 4,85000000001...
Pour des calculs type comptables et/ou avec des valeurs "justes" il faut
utiliser le type currency ou decimal.
--
Olivier Besson
Pour m'ecrire, remplacer le <xx >de mon adresse par <com>.
(Je ne lis pas mes mails frequement)
To write me, replace <xx> part of my address by <com> (i don't read my mails
very frequently).
"DC" <dc@icomme.fr> a écrit dans le message de news:
05f901c396e4$8867a6b0$a401280a@phx.gbl...
quelqu'un peut-il expliquer pourquoi le calcul suivant :
Int(100 * CDbl("4,85")) retourne la valeur 484 ???
Tout simplement car il ne faut pas utiliser les doubles et les singles pour faire des calculs "justes". Ces 2 types sont des valeurs approchées. En fait 4,85 peut trés bien être 4,849999999999... ou 4,85000000001... Pour des calculs type comptables et/ou avec des valeurs "justes" il faut utiliser le type currency ou decimal.
--
Olivier Besson Pour m'ecrire, remplacer le <xx >de mon adresse par <com>. (Je ne lis pas mes mails frequement) To write me, replace <xx> part of my address by <com> (i don't read my mails very frequently).
"DC" a écrit dans le message de news: 05f901c396e4$8867a6b0$
quelqu'un peut-il expliquer pourquoi le calcul suivant : Int(100 * CDbl("4,85")) retourne la valeur 484 ???
Zoury
Salut! :O)
Il y a un peu de ce qu'Olivier à dit et un peu du fait que les fonctions Int, CInt, Round, CLng, ... effectuent ce qu'on appelle un arrondissement de banquier.
pour plus de détails :
Cette fiche donne d'autres méthodes pour faire des arrondis: http://support.microsoft.com/default.aspx?kbid6652
Pour plus d'information du pourquoi du comment VB calcule et fait ses arrondis: http://support.microsoft.com/default.aspx?kbid'9755
Merci de poster les réponses au groupe afin d'en faire profiter à tous "DC" wrote in message news:05f901c396e4$8867a6b0$
quelqu'un peut-il expliquer pourquoi le calcul suivant : Int(100 * CDbl("4,85")) retourne la valeur 484 ???
Salut! :O)
Il y a un peu de ce qu'Olivier à dit et un peu du fait que les fonctions
Int, CInt, Round, CLng, ... effectuent ce qu'on appelle un arrondissement de
banquier.
pour plus de détails :
Cette fiche donne d'autres méthodes pour faire des arrondis:
http://support.microsoft.com/default.aspx?kbid6652
Pour plus d'information du pourquoi du comment VB calcule et fait ses
arrondis:
http://support.microsoft.com/default.aspx?kbid'9755
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"DC" <dc@icomme.fr> wrote in message
news:05f901c396e4$8867a6b0$a401280a@phx.gbl...
quelqu'un peut-il expliquer pourquoi le calcul suivant :
Int(100 * CDbl("4,85")) retourne la valeur 484 ???
Il y a un peu de ce qu'Olivier à dit et un peu du fait que les fonctions Int, CInt, Round, CLng, ... effectuent ce qu'on appelle un arrondissement de banquier.
pour plus de détails :
Cette fiche donne d'autres méthodes pour faire des arrondis: http://support.microsoft.com/default.aspx?kbid6652
Pour plus d'information du pourquoi du comment VB calcule et fait ses arrondis: http://support.microsoft.com/default.aspx?kbid'9755
Merci de poster les réponses au groupe afin d'en faire profiter à tous "DC" wrote in message news:05f901c396e4$8867a6b0$
quelqu'un peut-il expliquer pourquoi le calcul suivant : Int(100 * CDbl("4,85")) retourne la valeur 484 ???
Patrice Henrio
4,85 s'écrit en binaire
100,11011001100110011001100.... Soit reconverti en décimal 4,84999999403953, multiplié par 100 cela donne 484,999999403953 dont la partie entière est bien 484.
"DC" a écrit dans le message de news:05f901c396e4$8867a6b0$
quelqu'un peut-il expliquer pourquoi le calcul suivant : Int(100 * CDbl("4,85")) retourne la valeur 484 ???
4,85 s'écrit en binaire
100,11011001100110011001100....
Soit reconverti en décimal 4,84999999403953, multiplié par 100 cela donne
484,999999403953
dont la partie entière est bien 484.
"DC" <dc@icomme.fr> a écrit dans le message de
news:05f901c396e4$8867a6b0$a401280a@phx.gbl...
quelqu'un peut-il expliquer pourquoi le calcul suivant :
Int(100 * CDbl("4,85")) retourne la valeur 484 ???
100,11011001100110011001100.... Soit reconverti en décimal 4,84999999403953, multiplié par 100 cela donne 484,999999403953 dont la partie entière est bien 484.
"DC" a écrit dans le message de news:05f901c396e4$8867a6b0$
quelqu'un peut-il expliquer pourquoi le calcul suivant : Int(100 * CDbl("4,85")) retourne la valeur 484 ???