Format float variable output in c++ using std::ofstream

obelix picture obelix · Jan 30, 2014 · Viewed 10.9k times · Source

I have the following code:

std::ofstream myfile;
std::stringstream filename3;
myfile.open("results.txt");

myfile << "precision= " << precision << "\n";

And the output in my file is formatted like this:

precision= 5.96e-07...

How can I print the numeric value as a number instead of a numeric value expressed using e?

Answer

jrok picture jrok · Jan 30, 2014

Use stream manipulator fixed:

myfile << "precision= " << std::fixed << precision << "\n";

You might also want to use setprecision to adjust the number of decimal digits.