J'aime changer le nombre de chiffres décimaux affichés chaque fois que j'utilise un nombre à virgule flottant en C. Cela at-il quelque chose à voir avec la valeur FLT_Dig
définie dans float.h
? Si oui, comment pourrais-je changer cela de 6 à 10?
Je reçois un nombre comme 0.000000
alors que la valeur réelle est 0.0000003455
.
Il y a deux problèmes distincts ici: La précision du nombre à virgule flottante stockée, qui est déterminée en utilisant float
vs double
et il y a ensuite la précision du nombre imprimé en tant que tel:
float foo = 0.0123456789;
printf("%.4f\n", foo); // This will print 0.0123 (4 digits).
double bar = 0.012345678912345;
printf("%.10lf\n", bar); // This will print 0.0123456789
J'ai expérimenté ce problème et j'ai découvert que vous ne pouvez pas avoir une grande précision avec float, ils sont vraiment mauvais. il suffit de mentionner% .10lf pour une précision jusqu’à 10 décimales