一起使用Setw和SetPrecision令人困惑

时间:2013-09-18 10:12:54

标签: c++

我有这段代码:

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

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

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

谢谢!

1 个答案:

答案 0 :(得分:1)

好吧,因为您想知道实际输出是什么:

" 1.06e+3"

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

使用setw(8)基本上将输出限制为8个字符,setprecision(3)设置用于在输出操作上格式化浮点值的小数精度。

不确定你的其他问题是什么,但可能是输出没有刷新(最后没有换行),有时它会出现,有时需要更长的时间?

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