shintaa
Messages postés11Date d'inscriptiondimanche 6 juillet 2008StatutMembreDernière intervention 9 octobre 2008
-
24 sept. 2008 à 15:00
shintaa
Messages postés11Date d'inscriptiondimanche 6 juillet 2008StatutMembreDernière intervention 9 octobre 2008
-
24 sept. 2008 à 15:27
Bonjour,
Nous avons un problème avec la fonction printf.
En déclarant un float 42.42 et en demandant à printf de nous l'écrire avec printf("%f\n", myFloat) il affiche : 42.419998.
Est-ce que quelqu'un saurait pourquoi il n'affiche pas 42.42 ?
Si oui comment faire pour afficher la vrai valeur du float ?
BunoCS
Messages postés15475Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention23 avril 2024103 24 sept. 2008 à 15:12
Salut,
Il n'y a pas de "vraie" valeur pour un float car ça dépend beaucoup de la précision machine. C'est pour ça, par exemple, qu'il ne faut pas tester l'égalité entre de float mais plutôt la différence de valeur absolue.
Si tu veux absolument afficher ton float avec 2 décimales, utilises la syntaxe suivante: printf("%.2f\n",myFloat);
@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
shintaa
Messages postés11Date d'inscriptiondimanche 6 juillet 2008StatutMembreDernière intervention 9 octobre 2008 24 sept. 2008 à 15:19
Bonjour,
Oui mais le problème c'est que je ne sais pas forcément le nombre de chiffre après la virgule. Du coup je ne peux pas utiliser un %.2f. C'est pas possible de connaitre le nombre de chiffre après la virgule ?