c++ - textuales - Evite la notación científica en ostream cuando se usa<< con doble
uso de comillas rae (4)
Necesito evitar que mi doble se imprima en notación científica en mi archivo,
cuando hago esto
outfile << X;
Aquí hay un ejemplo de uso http://cplus.about.com/od/learning1/ss/clessontwo_4.htm
según su uso de la pregunta
cout<< fixed<< a<< endl;
Para establecer el formato de las variables flotantes, puede usar una combinación de setprecision(n)
, showpoint
y fixed
. Para usar manipuladores de flujo parametrizados como setprecision(n)
, deberá incluir la biblioteca iomanip:
#include <iomanip>
setprecision(n)
: restringirá la salida flotante en n
lugares, y una vez que la establezca, se establecerá hasta que la desactive explícitamente para el resto de la salida de la secuencia.
fixed
: hará que todos los números de punto flotante se emitan de la misma manera. Por lo tanto, si su precisión está configurada en 4 lugares, 6.2
y 6.20
mostrarán como:
6.2000
6.2000
showpoint
: forzará la showpoint
las partes decimales de una variable de coma flotante, incluso si no está establecida explícitamente. Por ejemplo, 4
enviará como:
4.0
Utilizándolos todos juntos:
outfile << fixed << showpoint;
outfile << setprecision(4);
outfile << x;
Todas las respuestas anteriores fueron útiles, pero ninguna responde directamente la pregunta.
outfile.setf(ios_base::fixed);
outfile << x;
Encontré la respuesta en el enlace @moogs: http://www.cplusplus.com/reference/iostream/ios_base/fmtflags/
Aquí hay un programa de demostración: http://ideone.com/FMxRp1
puedes usar banderas de formato