发布之前,我已经看过一些问题,找不到我想要的东西,因此,如果重复的话,对不起。

我有以下代码:

cout << "The balance at year " << i << " will be " << char(156) << std::setprecision(2)
     << balance << endl;

据我所知,这应该打印到控制台上,例如:
£2.00
£100.46

* fyi以上只是示例,我知道没有什么可以建议这些数字的,但是格式应该像这样,对吗?

但是这是我的输出:
£1e+002
£1.1e+002

为什么这样做呢?

据我了解,使用setprecision将显示2个小数位,仅此而已。

哦,还几乎没有注意到有关打印双打的任何问题,这些问题说使用setprecision实际上表明需要这样做,包括:
#include <iomanip>

最佳答案

setprecision设置精度和位数。
fixed设置固定格式。

我敢打赌会解决它。

10-06 06:56