Precisión de punto flotante printf() predeterminado es 6 decimales

Exención de responsabilidades de contenido KB retirado

Este artículo se refiere a productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Resumen

De forma predeterminada, la función printf() muestra un número de punto flotante a seis dígitos de precisión. Este valor predeterminado se aplica también a los números de precisión doble.


Para mostrar más dígitos de precisión, especifique un valor para el campo de precisión en la especificación de formato printf():
%[<flags>][<width>][.<precision>]<type>

Más información

El ejemplo de código siguiente muestra el comportamiento printf() documentado que puede parecer un problema con la función.

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

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

Este ejemplo de código genera el siguiente resultado:


1.234568e+000
1.234568e+000

Para mostrar el valor d a su precisión completa, modifique el código de ejemplo para utilizar la siguiente instrucción:
   printf("%.15le", d);
Propiedades

Id. de artículo: 29557 - Última revisión: 01/22/2017 - Revisión: 1

Comentarios