获得cout的精确度

时间:2013-12-04 11:28:39

标签: c++ precision cout

我可以使用

设置cout输出的精度
cout.precision(precision_value);

我如何获取已经由cout使用的精度值? 我在cout description中找不到任何其他相关功能。

我遇到的相关问题是如何仅为代码的某些部分更改cout精度(因此需要在之后重置为精确的先前值)。

我试过:

//save original cout flags
std::ios_base::fmtflags coutFlags = cout.flags();

cout.precision(1);
cout.setf(ios::fixed);

 // code

cout.flags(coutFlags);

但这不起作用。

2 个答案:

答案 0 :(得分:7)

该功能为overloaded。两个重载都返回在调用函数之前设置的精度。 cout.precision()可能是您要查询的内容。

要保存并稍后将其设置回来:

auto old_precision = cout.precision(temp_precision);
// do stuff
cout.precision(old_precision);

答案 1 :(得分:4)

使用函数precision()

int main() {
  std::cout << std::cout.precision() << std::endl;
  return 0;
}