为什么 cout << setprecision(2) << 0.999 的输出是 1 而不是 1.0?
Why output of cout << setprecision(2) << 0.999 is 1 instead of 1.0?
有效数字为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)
有效数字为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)