Printing the correct number of decimal places with cout

c++, floating-point, iostream, precision

Solution

With `<iomanip>`, you can use `std::fixed` and `std::setprecision`

Here is an example

#include <iostream>
#include <iomanip>

int main()
{
    double d = 122.345;

    std::cout << std::fixed;
    std::cout << std::setprecision(2);
    std::cout << d;
}

And you will get output

122.34

Problem

I have a list of `float` values and I want to print them with `cout` with 2 decimal places. For example: - 10.900 should be printed as 10.90 - 1.000 should be printed as 1.00 - 122.345 should be printed as 122.34 How can I do this? (`setprecision` doesn't seem to help in this.)

Original source