需要将美元价值上调至下一个镍价

时间:2014-06-30 16:36:38

标签: ibm-midrange rpgle rpg

有人能给我一个将美元价值四舍五入到下一个最高镍价的例子吗?例如:如果我的金额是21.402,我需要它是21.45,而不是21.40。我现在已经将它转向 NEAREST 镍,在这种情况下我会得到21.40。我需要它到.45。

修改代码:

 C                   Eval      Work=0
 C                   Eval      RMD=0
 C     Price         DIV       .05           Work
 C                   MVR                     RMD
 C                   If        RMD > 0
 C                   Eval      Price = (Work * .05) + .05
 C                   EndIf

1 个答案:

答案 0 :(得分:2)

答案在于WORK字段的(未指定的)定义。 MVR将返回余数 - 分割后遗留的镍币数量。如果存在除法的分数结果,则不会成为余数。如果字段已定义:

 d work            s              9p 2
 d rmd             s             15p 6
 d price           s              7p 3 inz(21.402)

然后

 C     Price         DIV       .05           Work

将428.04放入WORK并且没有余数 - 完整结果存储在WORK中。如果字段已定义:

 d work            s              9p 0
 d rmd             s             15p 6
 d price           s              7p 3 inz(21.402)      

然后

 C     Price         DIV       .05           Work

将428放入WORK,其余的为.002