std::setprecision(3)

NAME
std::setprecision - std::setprecision

Synopsis
   Defined in header <iomanip>
   /*unspecified*/ setprecision( int n );
   When used in an expression out << setprecision(n) or in >> setprecision(n), sets the
   precision parameter of the stream out or in to exactly n.

Parameters
   n - new value for precision

Return value
   Returns an object of unspecified type such that if str is the name of an output
   stream of type std::basic_ostream<CharT, Traits> or an input stream of type
   std::basic_istream<CharT, Traits>, then the expression str << setprecision(n) or str
   >> setprecision(n) behaves as if the following code was executed:
   str.precision(n);

Example
// Run this code
 #include <iostream>
 #include <iomanip>
 #include <cmath>
 #include <limits>
 int main()
 {
     const long double pi = std::acos(-1.L);
     std::cout << "default precision (6): " << pi << '\n'
               << "std::setprecision(10): " << std::setprecision(10) << pi << '\n'
               << "max precision: "
               << std::setprecision(std::numeric_limits<long double>::digits10 + 1)
               << pi << '\n';
 }

Output:
 default precision (6): 3.14159
 std::setprecision(10): 3.141592654
 max precision: 3.141592653589793239

See also
   fixed
   scientific
   hexfloat changes formatting used for floating-point I/O
   defaultfloat (function)
   (C++11)
   (C++11)
   precision manages decimal precision of floating point operations
                (public member function of std::ios_base)