钱数面额C ++

时间:2015-05-22 04:55:40

标签: c++ currency

所以我的项目是开发一个应用程序,用户输入一个数量(例如65.67),输出打印多少美元,四分之一,一角钱,零钱和便士总数(例如5.52美元是5美元,2个季度和2个便士。下面我留下了处理总计算的代码块。美元和季度分配正确,但硬币,镍币和硬币都没有。我的逻辑是关闭的,任何建议都会非常感谢。我正在使用Windows 8.1,Code :: Blocks IDE。

 void *ptr;
 /* ... */
 ptr = &&foo;

2 个答案:

答案 0 :(得分:0)

使用整数来处理货币值是因为在对它们执行计算操作时,无法保证浮点值正确舍入。

基本上,您应该使用尽可能小的货币单位(美分)并管理这些单位中的所有货币价值。显示值时,您将转换为用户期望的正确格式。

答案 1 :(得分:-1)

感谢大家的建议,这是我最终做的。不是我确定的最优雅的方式,但它完成了工作。

/// This states variables as well as evolving tally of dollar amount ///

int _total = (total*100)+.5; 
int dollar = _total/100;
 _total = _total%100;
int quarter = _total/25;
 _total= _total%25;
int dime = _total/10;
 _total = _total%10;
int nickel = _total/5;
 _total = _total%5;
int penny = _total/1;
 _total = _total%1;