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

http://www.cplusplus.com/reference/iomanip/setprecision/转至

posted @ 2013-04-20 20:56  bo_jwolf  阅读(1571)  评论(0编辑  收藏  举报