在下面的示例中,输出为 3.1,因此它从第一个值开始。
double y = 3.14784;
cout << setprecision(2) << y;
在以下示例中,输出精度从十进制值开始
int x = 2;
double y = 3.0;
cout << setprecision(2) << x/y;
然而在下面的代码行中 - 与上面声明的相同的 x 和 y 我们得到了根本没有显示的精度。(下面打印 6.00 的唯一方法是我们使用固定)。
cout << setprecision(2) << x * y; // shows 6.
如果我们不使用固定 - 只是一个 setprecision(n) 那 n 从哪里开始?因为它声明其设置精度用于十进制精度。然而在第一个示例中,它查看的是整个双精度值,而不仅仅是小数。
请指教。谢谢。