小编ury*_*ury的帖子

输出以精确流式传输浮点数

浮点数精度有问题:

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;
}
Run Code Online (Sandbox Code Playgroud)

结果是:

a = 106.83; b = 106.83

a = 106.8296; b = 106.8296

所以,我的问题是为什么第一行的数字如此之短(我期待看到106.829)

gcc 4.1.2,我也在LWS做了一个测试

c++ precision numbers stream

5
推荐指数
1
解决办法
4899
查看次数

标签 统计

c++ ×1

numbers ×1

precision ×1

stream ×1