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

Declinación de responsabilidades del contenido retirado de KB

Este artículo trataba sobre los productos para los cuales Microsoft ya no ofrece soporte técnico. Por lo tanto, este artículo se ofrece "tal cual" y ya no se actualizará más.

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: 22/01/2017 - Revisión: 1

Comentarios