首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法让setw对齐

无法让setw对齐
EN

Stack Overflow用户
提问于 2012-12-15 19:25:47
回答 1查看 823关注 0票数 0

我不知道如何才能更好地解决这个问题。我认为如果使用L = name.length();并从setw中减去它,它会更好地排列,但事实并非如此。我已经正确地设置了nameID,但是我似乎无法将其余的设置好。这些是floats btw。

代码语言:javascript
复制
for (int z=0; z<i ;z++){

  if( EInfo[z].valid >0){

    string name = employee[z].getName();
    int L = name.length();

    payReportObj << fixed << setprecision (2)  <<  endl;

      payReportObj  << setw(3) << employee[z].getID()
                  << setw(36)
                  << employee[z].getName()
                  << setw(30-L) << "$" << setw(4) << EInfo[z].grossPaySE
                  << setw(25) << "$" << setw(4) << EInfo[z].taxSE
                  << setw(15) << "$" << setw(4) << EInfo[z].insuranceSE
                  << setw(25) << "$" << setw(4) << EInfo[z].netPaySE;

我试着让它更像这样...

这就是我所拥有的。

EN

回答 1

Stack Overflow用户

发布于 2012-12-15 23:13:47

setw(30)替换setw(30-L)。还有这个:

代码语言:javascript
复制
int L = name.length();

是不需要的。如果要右对齐数字,请使用std::right

看起来你在nodepad中用成比例的字体打开了输出文件。您将不会看到列与比例字体对齐,即使它们是。将字体更改为fixed或键入终端type output.txt

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13891747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档