Pregunta Evite la notación científica en ostream cuando use << con doble


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

cuando hago esto

outfile << X;

28
2018-02-25 16:31


origen


Respuestas:


Para configurar el formato de variables flotantes, puede usar una combinación de setprecision(n), showpoint y fixed. Para usar manipuladores de flujo parametrizados como setprecision(n) Tendrás que incluir la biblioteca iomanip:

#include <iomanip>

setprecision(n): restringirá la salida flotante a n lugares, y una vez que lo configuró, se establece hasta que se desactive explícitamente para el resto de la salida de la secuencia.

fixed: hará cumplir que todos los números de coma flotante se envían de la misma manera. Entonces, si su precisión está configurada en 4 lugares, 6.2y 6.20 ambos se mostrarán como:

6.2000
6.2000

showpoint: forzará la visualización de las partes decimales de una variable de punto flotante, incluso si no está establecido explícitamente. Por ejemplo, 4 se enviará como:

4.0

Utilizándolos todos juntos:

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

33
2018-02-25 17:28



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


6
2017-10-07 10:17



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;

6
2018-02-25 16:43



puedes usar banderas de formato

http://en.cppreference.com/w/cpp/io/ios_base/fmtflags


2
2018-02-25 16:33