有效数字为2。

为什么输出

cout << setprecision(2) << 0.999 << endl;`

1而不是1.0吗?

最佳答案

默认格式不打印尾随零。您需要将浮点格式设置为fixed,另请参见this reference。所以你需要的是

cout << setprecision(2) << fixed << 0.999 << endl;

还要注意,setprecision指的是十进制数字,因此对于1.0,您需要setprecision(1)

关于c++ - 为什么cout << setprecision(2)<< 0.999的输出是1而不是1.0?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37963644/

10-08 23:42