【发布时间】:2017-01-18 04:38:33
【问题描述】:
我的程序执行得很好,但我想知道如何调整我的输出以便美分而不是美元排列。
我们几周前才开始上课,所以我们还没有讨论这个问题。我的教授说,如果他们不对齐,现在没关系,我想我只是对此有强迫症。另外,我觉得它看起来更干净。
另外,如果账单是 38.40 美元,那会是四位有效数字吗?抱歉,我好久没学数学了。在我的输出中,出于某种原因,我得到了多达五个有效数字。我最多的是四个。我该如何解决这个问题,使用 setprecision?
cout << "Bill \t \t $ " << bill << endl;
cout << "Tax at 10.5% \t \t $"<<tax<< endl;
cout << "Sub-total \t \t $"<<subTotal<< endl;
cout << "Tip at 20% \t \t $"<<tip<< endl;
cout << endl;
cout << "Total Bill \t \t \t $"<<totalBill<< endl;
如您所见,我一直在尝试使用制表符转义。正如回复所暗示的,我应该使用 setw?
9/10 编辑:
我已将所有美元金额四舍五入到小数点后两位,但账单除外,我不知道如何解决。感谢您提供给我的所有信息,但是对于我们现在正在做的事情来说它太先进了,所以我只是手动对齐了一些东西。我仍然需要添加 setw,然后修复所有内容。我只是问为什么账单只有三位数。这可能是我想不到的超级简单的事情。
// Declare variables
double bill, tax, subTotal, tip, totalBill;
// Variables
bill = 38.40;
tax = .105;
tip = .20;
// Calculate the tax
tax = bill * .105;
// Calculate sub-total of bill
subTotal = bill + tax;
// Calculate tip
tip = subTotal * .20;
// Calculate total amount of bill
totalBill = subTotal + tip;
cout << "Bill" " $ " << setprecision(4) << bill << endl;
cout << "Tax at 10.5%" " $ " << setprecision(3) << tax << endl;
cout << "Sub-total" " $ " << setprecision(4) << subTotal << endl;
cout << "Tip at 20%" " $ " << setprecision(3) << tip << endl;
cout << endl;
cout << "Total Bill" " $ " << setprecision(4) << totalBill << endl;
编辑:我“修复”了它。现在一切都很好。
【问题讨论】:
-
stackoverflow.com 上的问题必须在消息本身中包含所有完整和相关的问题,而不是指向可能随时停止工作的某些外部网站的链接,从而使问题变得毫无意义。您需要编辑您的问题,删除该链接,并将其替换为相关信息。此外,“我如何将我的代码改为执行 X”形式的问题显然必须显示代码,除非你愿意等到我们所有的通灵者从午休时间回来,并且能够查看你的代码以便我们弄清楚要对其进行哪些更改。
-
减去不必要的讽刺,谢谢。我是新手,我试图在没有链接的情况下这样做,但它不会让我这样做。我会编辑它。另外,我认为没有必要有代码,因为它执行得很好,但我明白你在说什么。
-
@SamVarshavchik 我喜欢你的评论。经常出现讨厌的“这个问题质量低,应该关闭”的话。相反,你让我微笑。
-
@TrevorHickey 您帮了很多忙,想知道您是否可以帮助解决另一个快速问题。我编辑了我的帖子,补充说我已经手动对齐了所有内容(我仍然需要添加 setw),并且除了账单之外,我的美元金额已经四舍五入。我不明白为什么只有三位数。更改 setprecision 没有任何作用。
-
@deW1 你也帮忙了,谢谢。上面的回复也适合你。
标签: c++ text-alignment