同时使用 Setw 和 SetPrecision 是令人困惑的

Using Setw and SetPrecision together is confusing

本文关键字:SetPrecision Setw      更新时间:2023-10-16

我有这个代码:

cout<<setw(8)<<setprecision(3)<<1055.1234567;

无论我在哪里编译它,我要么用科学记数法得到答案,要么它有一些其他问题。

你能告诉我这个的实际输出吗,因为我无法理解。

谢谢!

既然你想知道实际输出是什么:

" 1.06e+3"

在区域设置(例如 Linux 上的 $LC_NUMERIC )设置为 US 或 GB 的系统上(否则小数点可能是逗号)。

实际上,使用 setw(8) 将输出限制为 8 个字符,setprecision(3) 设置用于格式化输出操作浮点值的十进制精度。

不确定您的其他问题是什么,但是可能是输出未刷新(末尾缺少换行符)并且有时会出现,有时需要更长的时间?

cout << setw(8) << setprecision(3) << 1055.1234567 << endl;