I need to prevent my double to print in scientific notation in my file,
when I do this
outfile<<X;
I need to prevent my double to print in scientific notation in my file,
when I do this
outfile<<X;
you can use format flags
http://www.cplusplus.com/reference/iostream/ios_base/fmtflags/
Here's an example of usage http://cplus.about.com/od/learning1/ss/clessontwo_4.htm
as per your question use
cout<< fixed<< a<< endl;
To set formatting of floating variables you can use a combination of setprecision(n)
, showpoint
and fixed
. In order to use parameterized stream manipulators like setprecision(n)
you will have to include the iomanip library:
#include <iomanip>
setprecision(n)
: will constrain the floating-output to n
places, and once you set it, it is set until you explicitly unset it for the remainder of the stream output.
fixed
: will enforce that all floating-point numbers are output the same way. So if your precision is set to 4 places, 6.2
, and 6.20
will both be output as:
6.2000
6.2000
showpoint
: will force the decimal portions of a floating-point variable to be displayed, even if it is not explicitly set. For instance, 4
will be output as:
4.0
Using them all together:
outfile << fixed << showpoint;
outfile << setprecision(4);
outfile << x;