Perte precision double atof(char[11])
freec
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai une valeur dans un tableau de chars à convertir dans un double
tableauChars[11] = "33.8258705";
double valeurDouble = atof(tableauChars);
printf("%lf", valeurDouble); : 33.825871
mais le problème c'est que j'ai besoin de 705 pas 71...
J'ai une valeur dans un tableau de chars à convertir dans un double
tableauChars[11] = "33.8258705";
double valeurDouble = atof(tableauChars);
printf("%lf", valeurDouble); : 33.825871
mais le problème c'est que j'ai besoin de 705 pas 71...
2 réponses
-
Bonjour,
Le nombre a été certainement correctement converti (un double a 15 chiffres significatifs)
C'est la fonction printf qui par défaut tronque a 6 chiffres après la virguleprintf("%.9lf", valeurDouble); // 33.8258705 -
Bonjour,
Pareil que Daflab.
En plus, ce n'est pas lf mais faut qu'il faut mettre dans le printf.
Et il ne faut pas oublier le char devant le tableau (probablement erreur de recopie)