Bonjour,
Je souhaite convertir un string, ou un char*, en double.
J'ai réussi à le faire via la fonction atof(char*), mais elle arrondi le double trouvé, ce qui est gênant, car j'ai besoin de la valeur exacte.
PS : même problème avec strtod:cry:
Version imprimable
Bonjour,
Je souhaite convertir un string, ou un char*, en double.
J'ai réussi à le faire via la fonction atof(char*), mais elle arrondi le double trouvé, ce qui est gênant, car j'ai besoin de la valeur exacte.
PS : même problème avec strtod:cry:
Je crains que le probleme soit intrinseque a l'utilisation des flottants...
http://docs.sun.com/source/806-3568/ncg_goldberg.html
boost::lexical_cast est une solution simple. Ceci dit, on n'aura jamais la traduction exacte (j'ai casté 45.53601 en 45.536009999999997).
Pourrais tu donner un exemple de cast, car les exemples que j'ai trouvé vont tous un cast d'un string vers un int, et je suis pas sur que ca marche comme ca.Citation:
Envoyé par Patriarch24
Est-il possible de lui préciser le nombre de chiffres après la virgule dans ton cas ??
Code:
1
2 string str("45.53601"); double d = boost::lexical_cast<double>(str);
http://miles.developpez.com/tutoriel...st/conversion/
et surtout la FAQ C++ qui en parle !