Précision de virgule flottante printf() par défaut est 6 décimales

Exclusion de responsabilité du contenu obsolète de la base de connaissances

Cet article a été rédigé sur les produits pour lesquels Microsoft n’offre plus aucune prise en charge. Par conséquent, cet article est proposé « en l’état » et ne sera plus mis à jour.

Résumé

Par défaut, la fonction printf() affiche un nombre à virgule flottante à six chiffres de précision. Cette valeur par défaut conserve également les nombres en double précision.


Pour afficher plus de chiffres de précision, vous devez spécifier une valeur pour le champ de précision dans la spécification de format printf(), comme suit :
%[<flags>][<width>][.<precision>]<type>

Plus d'informations

L’exemple de code ci-dessous illustre le comportement printf() documentées qui semble être un problème avec la fonction.

   #include <stdio.h>
main()
{
double d = 1.2345678912;

printf("%e\n", d);
printf("%le\n", d);
}

Cet exemple de code génère la sortie suivante :


1.234568e+000
1.234568e+000

Pour afficher la valeur d à sa précision, modifiez l’exemple de code pour utiliser l’instruction suivante :
   printf("%.15le", d);
Propriétés

ID d'article : 29557 - Dernière mise à jour : 26 janv. 2017 - Révision : 1

Commentaires