1

有人可以给我一个将美元价值四舍五入到下一个最高镍的例子吗?例如:如果我的金额是 21.402,我需要它是 21.45,而不是 21.40。我目前将它四舍五入到最近的,在这种情况下会给我 21.40。我需要它四舍五入到 0.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
4

1 回答 1

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.04WORK并且没有余数 - 完整结果存储在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余数为 0.002

于 2014-06-30T19:39:31.203 回答