std::setprecision的使用(c++浮点数控制位数)
function
std::setprecision
<iomanip>
/*unspecified*/ setprecision (int n);
Set decimal precision
Sets the decimal precision to be used to format floating-point values on output operations.Behaves as if member precision were called with n as argument on the stream on which it is inserted/extracted as a manipulator (it can be inserted/extracted on input streams or output streams).
This manipulator is declared in header
<iomanip>
.Parameters
- n
- New value for the decimal precision.
Return Value
Unspecified. This function should only be used as a stream manipulator (see example).
Example
intput
// setprecision example #include <iostream> // std::cout, std::fixed #include <iomanip> // std::setprecision int main () { double f =3.14159; std::cout << std::setprecision(5) << f << '\n'; std::cout << std::setprecision(9) << f << '\n'; std::cout << std::fixed; std::cout << std::setprecision(5) << f << '\n'; std::cout << std::setprecision(9) << f << '\n'; return 0; }Output:
3.1416 3.14159 3.14159 3.141590000
Data races
The stream object on which it is inserted/extracted is modified.Concurrent access to the same stream object may introduce data races.
Exception safety
Basic guarantee: if an exception is thrown, the stream is in a valid state.See also
- ios_base::precision
- Get/Set floating-point decimal precision (public member function)
- fixed
- Use fixed floating-point notation (function)
- scientific
- Use scientific floating-point notation (function)
http://www.cplusplus.com/reference/iomanip/setprecision/转至