Pregunta

Necesito evitar que mi doble se imprima en notación científica en mi archivo,

cuando hago esto

outfile << X;
¿Fue útil?

Solución

Para establecer el formato de variables flotantes se puede utilizar una combinación de setprecision(n) , showpoint y fixed . Para utilizar manipuladores corriente con parámetros como setprecision(n) tendrá que incluir la biblioteca iomanip:

#include <iomanip>

setprecision(n):.-Limitará la salida flotante a lugares n, y una vez que establezca, que se establece hasta de borra de forma explícita por el resto de la corriente de salida

fixed: hará cumplir que todos los números de punto flotante son la salida de la misma manera. Así que si su precisión se establece en 4 lugares, 6.2 y 6.20 será tanto de salida como:

6.2000
6.2000

showpoint: obligará a las partes decimales de una variable de coma flotante que se muestra, incluso si no se establece explícitamente. Por ejemplo, 4 se emitirá como:

4.0

El uso de todos ellos juntos:

outfile << fixed << showpoint;
outfile << setprecision(4);
outfile << x;

Otros consejos

Todas las respuestas anteriores fueron útiles, pero ninguno responde directamente a la pregunta.

outfile.setf(ios_base::fixed);
outfile << x;

Me encontró la respuesta en @moogs enlace: http: //www.cplusplus. com / referencia / iostream / ios_base / fmtflags /

He aquí un programa de demostración: http://ideone.com/FMxRp1

Aquí hay un ejemplo de uso.http://cplus.about.com/od/learning1/ss/clessontwo_4.htm

según tu pregunta usa

  std::cout << std::fixed << a << std::endl;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top