gpt4 book ai didi

c++ - 另一个 C++ 输出对齐问题

转载 作者:行者123 更新时间:2023-11-30 03:44:28 25 4
gpt4 key购买 nike

在过去的 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;

非常感谢您的帮助。

最佳答案

setw 字段宽度是为 next item to be output and is reset to 0 afterwards 定义的.这就是为什么只有文本显示在 25 个字符上而不是该行的剩余输出。

rightleft justifier 定义填充字符在字段中的放置位置。这意味着它仅适用于具有定义宽度的当前字段。这就是理由不适用于文本后面的项目的原因。

在这里你可以获得expected result :

cout <<setw(25)<< left<< "Loan amount:" <<  "$ "<< setw(10)<<right << amount << endl;
cout <<setw(25)<< left << "Monthly Interest Rate:"<<" "<<setw(10)<<right<< rateMonthly << " %" << endl;

如果您希望 $ 紧挨着数字,您必须确保将 $ 和数字连接成一个要输出的对象,可以将它们放在一个字符串中,也可以使用货币格式.

关于c++ - 另一个 C++ 输出对齐问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35420910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com