-
string to double
Bonjour à tous,
Je suis confronté à un petit problème assez frustrant, il s'agit du probleme de convertion d'une chaine de caratère a un type double.
J'ai un bout de code qui fonctionne parfaitement sur Solaris (SPARC) et sous Linux (x86). Cependant sous windows en utilisant vs2005 j'ai un problème.
Par exemple si j'effectue:
double d = 0.1;
lors de l'execution, en mode débug, la variable d est a 0.1000000000000000001
donc deja ca ca me pose probleme.
apres si j'essai de convertir une chaine de caractère du style "1.2450" il me la convertit soit en 1.2499999999999999999999 soit en 1.245000000000000001
Avec une solution face a ce problème assez embettant.
Merci d'avance
-
Ce problème est inhérent au codage binaire du nombre, et il est valable sur toutes les plateformes qui codent les nombres à virgule flottante en binaire.
Si tu veux résoudre le problème, il te faudra une (lente) bibliothèque de calcul à virgule flottante en BCD...
-
et la conversion, tu la fais comment ?
je n'ai jamais eu ce genre de problème....
-
C'est que tu n'affichais sans doute pas avec une précision suffisante pour le révéler.