【发布时间】:2020-05-22 06:32:55
【问题描述】:
以下 C++ 代码:
double x = 500000.6;
printf("%f\n", x);
cout << x << endl;
打印以下内容:
500000.600000
500001
为什么cout 没有打印正确的值 (500000.6)?
将以下行作为代码的开头使cout 打印出正确的结果:
cout.precision(7);
但是,将精度设置为 6(无论如何都是默认值)不会打印出预期的结果。
为什么会这样?我的小数点后只有 1 位,而不是 7 位!
【问题讨论】: