[c++]Probleme double->int

Fermé
etienne - 30 avril 2005 à 16:16
crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 - 30 avril 2005 à 16:26
Bonjour, je suis entrain de faire un programme quelconque en c++ et la j'ai un probleme, mon programme fait pas ce que je veux.
J'ai un double d'une valeur quelconque que je veux transformer en int. La valeur du double est un entier, c'est a dire qu'il n'a pas de chiffre apres la virgule. Quand vient le temps de faire la conversion, en utilisant

mon_int=(int)(mon_double);

dependant de la valeur de mon_double, je vais obtenir un int de valeur mon_double-1.
Pourtant un peu plus tard je refais la meme chose et puis j'obtient la bonne valeur. :(
J'ai verifie que la valeur de mon_double est belle est bien la valeur que j'attend, pourtant lors de la conversion il soustrait definitivement 1 dans certain cas (mettons un chiffre XY, quand Y va etre plus petit que 5 y va enlever 1 lors de la conversion).

Alors qu'est-ce que ca peut etre et comment pourrais-je regler mon probleme ? marci
A voir également:

1 réponse

crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 506
30 avril 2005 à 16:26
Salut,
Essaies un truc du genre :
mon_int=(int)(mon_double+0.49999999 ) ;

Si ça t'amène pas la solution, précise ton OS, le nom et la version de compilateur,
et ton CPU.
A+, Crabs
0