在不知道字符串宽度的情况下左右对齐

时间:2015-09-14 18:46:50

标签: c++ iomanip setw

好的,所以我必须使用如下所示的输出创建一个程序:

Gross Amount: ............... $3575.00
Federal Tax: ................ $ 536.25
State Tax: .................. $ 125.13
Social Security Tax: ........ $ 205.56
Medicare/Medicaid Tax: ...... $  98.31
Pension Plan: ............... $ 178.75
Health Insurance: ........... $  75.00
Net Pay: .................... $2356.00

左边的字符串是固定的,我只需输入,但右边的总数是变量。我需要找到一种方法来使它在右边的变量总是设置在右边,但是没有办法告诉变量的宽度(总数是多少),因为这取决于用户。我所看到的所有答案总是把它视为好像你知道它会有多宽。这是一个例子:

cout << setw(5) << right << x << endl;  

我找到的每一个都有一个数字,例如五,但问题是,我不知道宽度将是五。我想将变量推到右边,无论它的宽度是多少。另外,我已经使用了命名空间std;编码,所以不需要std ::我编码#include所以我做setw()而不是cout.width()

----------- ---------- UPDATE

我明白了!谢谢你们!

1 个答案:

答案 0 :(得分:0)

你想要的是adjustfield操纵器。这允许左右对齐。

有三种可能的设置,内部,左侧和右侧。

例如:

std :: cout.width(10); std :: cout&lt;&lt; std :: right&lt;&lt; v&lt;&lt; &#39; \ n&#39 ;;