Cast atof

Résolu
dacor Messages postés 40 Date d'inscription mercredi 10 mai 2006 Statut Membre Dernière intervention 5 juin 2008 - 5 juin 2008 à 18:03
dacor Messages postés 40 Date d'inscription mercredi 10 mai 2006 Statut Membre Dernière intervention 5 juin 2008 - 5 juin 2008 à 18:18
Bonjour à tous!

J'utilise atof pour caster mes chaine de caracteres et j'ai un pb de perte de precision.
Mes valeurs sont inferieures à 10e-8 et j'obtient 0 après le cast en double(ex : atof("0.00000001") me donne 0.000000).
y'aurait il une autre fonction plus précise ou un moyen de parametrer la precison du cast ?

Merci pour votre aide.

3 réponses

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
5 juin 2008 à 18:14
Cependant, j'y pense. Comment affiche tu le résultats (si tu l'affiches) ?

Comme ceci:
printf("%f\n", atof("0.00000001"));
???

Si oui, essais:
printf("%.8f\n", atof("0.00000001"));

C++ (@++)<!--
3
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
5 juin 2008 à 18:07
Normalement, atof devrait retourner un double. Aucun transtypage à effectuer.

C++ (@++)<!--
0
dacor Messages postés 40 Date d'inscription mercredi 10 mai 2006 Statut Membre Dernière intervention 5 juin 2008
5 juin 2008 à 18:18
C'était mon fprintf qui fesais de la merde! il fallait lui précisé %.8f pour voir la bonne valeur.

merci en ts cas!
0
Rejoignez-nous