使用std :: cout和std :: stringstream时,如何使符号出现在填充的末尾?

时间:2015-05-21 18:32:24

标签: c++ std cout stringstream

我有以下代码将打印输出格式化为4位数,并带有符号:

std::stringstream pitch; 
pitch.precision(0);

pitch.width(4);
pitch.fill('0');

pitch << std::showpos << (int)(m_values["Pitch_1"]);

我还想显示标志(&#34; +&#34; /&#34; - &#34;),但我希望它在填充之前,如下所示:

+002

然而,我在这里的代码移动了&#34; +&#34;签到最重要的数字:

00+2

如果可能的话,我如何更改格式以便我拥有前者而不是后者?

1 个答案:

答案 0 :(得分:6)

使用std::internal操纵器:

pitch << std::internal << std::showpos << 5;