【发布时间】:2014-01-22 03:58:38
【问题描述】:
这是我在 SO 上的第一篇文章,也是我编程的第一个月,我正在自学,所以请善待 :) 来了!
简而言之,我希望右对齐输入货币金额。顺便说一句,我正在使用 getline(),以便我可以验证输入。任何人都可以帮忙吗?谢谢!!
原理,细节:
有时是这样的:
12345.67 美元 45.30 美元 1.01 美元比以下内容更容易阅读:
12345.67 美元 45.30 美元 1.01 美元我想我在输出时想出了如何做到这一点:
cout << setfill(' ') << setw(40) << right << "Dr., SUBTOTAL:";
cout << " $";
cout << setw(10) << right << sum << endl;
看起来像:
博士,小计 $12.34或者
博士,小计 $1234.56完美的! (我认为。)
但是当用户被提示输入美元金额时,我不知道如何让它像计算器一样工作,也就是说右对齐输入的任何数字迄今。输入 123.45 的“定格动画”看起来像:
卡什博士.......$ 1 卡什博士.......$ 12 卡什博士…………12 美元。 卡什博士.......$ 12.3 卡什博士.......$ 12.34 希望这是有道理的。更新:运行 Windows,Code::Blocks 13.12,GNU GCC,C++11
【问题讨论】:
-
您不能在纯标准 C++ 中以交互方式更改输入;您将需要一些外部的、特定于操作系统的库。在 Linux 上考虑 GNU readline 或 ncurses
-
GNU
readline和ncurses都已移植到 Windows。
标签: c++ input right-align