std::ios_base::precision(3)

NAME
std::ios_base::precision - std::ios_base::precision

Synopsis
   streamsize precision() const; (1)
   streamsize precision( streamsize new_precision ); (2)
   Manages the precision (i.e. how many digits are generated) of floating point output
   performed by std::num_put::do_put.
   1) Returns the current precision.
   2) Sets the precision to the given one. Returns the previous precision.
   The default precision, as established by std::basic_ios::init, is 6.

Parameters
   new_precision - new precision setting

Return value
   The precision before the call to the function

Example
// Run this code
 #include <iostream>
 int main()
 {
     const double d = 12.345678901234;
     std::cout << "The default precision is " << std::cout.precision() << "\n\n";
     std::cout << "With default precision d is " << d << '\n';
     std::cout.precision(8);
     std::cout << "With high precision d is " << d << '\n';
 }

Output:
 The default precision is 6
 With default precision d is 12.3457
 With high precision d is 12.345679
   Defect reports
   The following behavior-changing defect reports were applied retroactively to
   previously published C++ standards.
     DR Applied to Behavior as published Correct behavior
                      'precision' was defined as 'the number of digits
   LWG 189 C++98 after corrected
                      the decimal point', but it is not correct in
                      some cases

See also
   width manages field width
                (public member function)
   setprecision changes floating-point precision
                (function)