URGENT erreur précision p.fractionnelle 'C'

Fermé
Tony.s - Modifié par Tony.s le 18/12/2011 à 12:29
Bonjour,
J'aimerais bien votre après de mon programme
voilà tout d'abord l'énoncé : transformer un nombre de type double vers une chaine de caractère pour garder sa précision
exemple 2369.14785

donc , tout marche bien pour moi , jusqu'au dernier , au lien d prendre dans l'éxemple 5 , il prend 4 , et aprés il ajoute des 999
En gros 5<= ce qu'il dois copier
4.999... <= ce qu'il copie
une erreur de précision
voici une photo pour mieux expliquer
http://i42.tinypic.com/95x9ad.png

voilà la fonction que j'ai développé :
res=x-t;
o=1;
r=10;

do{ res2=res;
res1=res2/(1/pow(r,o));
z=res1*(1/pow(r,o)); cv=(int)res1;
res=res1-cv;
if(cv!=0)a[i]=cv+'0';

i++;
}while(cv!=0);

puts(a); getch();
}

P.S : ce problème m'arrive pas toujours , des fois , ça marche , et d'autre fois non , et c'est ce qui me gène
j'espère trouver une réponse bientôt , car c'est l'objet de mon examen
MERCI.