2

在 C++ 中,我有一些这样的代码:

float hits = 10.12;
float mins = 2.19;
std::ostringstream ss;

ss.precision(2);

ss << std::fixed << hits << "%\n"
   << std::fixed << mins << "%";

std::cout << ss.str();

这给了我这个输出:

10.12%
2.19%

而相反,我希望小数位对齐:

10.12%
 2.19%

有没有办法在小数点前用空格填充小数点前两位数的固定宽度?

4

2 回答 2

6

用于width设置列大小,然后使用std::right来证明输出的合理性。

于 2013-03-13T13:59:52.253 回答
3

setw()setprecision()来确定浮点值的输出宽度和精度。所以你应该可以像这样使用它

ss << setw(8) << hits << "%\n"; ...

这里以供参考。

于 2013-03-13T14:01:49.017 回答