Not registered yet?
Register now! It is easy and done in 1 minute and gives you access to special discounts and much more!
I need to prevent my double to print in scientific notation in my file,
when I do this
outfile << X;
Here's an example of usage
as per your question use
std::cout << std::fixed << a << std::endl;
Better answer since it directly answers the question ('fixed').
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:
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:
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:
Using them all together:
outfile << fixed << showpoint;
outfile << setprecision(4);
outfile << x;
What makes you think that showpoint makes any difference here? The decimal portion is always shown with 0's due to the precision.
All I needed was to include <iomanip> and use setprecision(n)
All the above answers were useful, but none directly answer the question.
outfile << x;
I found the answer in @moogs link: http://www.cplusplus.com/reference/iostream/ios_base/fmtflags/
Here's a demo program: http://ideone.com/FMxRp1
you can use format flags