C++ 精确输出到流浮点数

C++ 精确输出到流浮点数,c++,stream,numbers,precision,C++,Stream,Numbers,Precision,我对浮点数精度有问题: int main(void) { double b = 106.829599; float a = b; std::cerr << std::setprecision(6) << "a = " << a << "; b = " << b << std::endl; std::cerr << std::setprecision(7) << "a = " <&

我对浮点数精度有问题:

int main(void) {
  double b = 106.829599;
  float a = b;
  std::cerr << std::setprecision(6) << "a = " << a << "; b = " << b << std::endl;
  std::cerr << std::setprecision(7) << "a = " << a << "; b = " << b << std::endl;
}
int main(无效){
双b=106.829599;
浮动a=b;

实际上,106.829599四舍五入到6位(3位小数)是106.830,显示为106.83,因为给定的6位精度只是一个最大值

小数精度决定要输入的最大位数 写在插入操作上以表示浮点值

您可能正在寻找的是将setprecision与