【发布时间】:2016-02-15 23:19:48
【问题描述】:
在过去的 3 个小时里,我一直在尝试将以下代码对齐,但成功率为零。有人可以告诉我我做错了什么吗? 我的目标是让字符串文字左对齐,变量右对齐,如下所示:
Loan amount: $ 10000.00
Monthly Interest Rate: 0.10%
但这是我一直得到的:
Loan amount: $ 10000.00
Monthly Interest Rate: 0.10%
这是我一直在尝试的最新版本:
cout << setw(25) << "Loan amount:" << right << "$ "<< amount << endl;
cout << setw(25) << "Monthly Interest Rate:"<< right<< rateMonthly << "%" << endl;
非常感谢您的帮助。
【问题讨论】:
-
right无效,除非与setw一起使用,例如<< right << setw(10) << rateMonthly. -
如其他答案所示(虽然没有解释原因),
right是“粘性”;所以你需要为下一行再次设置left。事实上,除了setw之外,所有的操纵器都是粘性的。 -
如果您要处理需要左右对齐的更复杂的格式,您可能需要编写自己的函数来执行此操作,该函数接受左字符串和右字符串以及宽度作为参数
标签: c++ cout text-align iomanip setw