欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

计算带折扣的退款金额

最编程 2024-05-25 07:10:46
...

场景:客户购买了三件商品,总计:215.9.使用了20的折扣,支付金额是:195.9,客户申请售后退款.

image.png

开始计算:

  • 折扣率:1-20/215.9 = 0.907364520611
  • 商品1实付金额:49.950.907364520611100%=45.322857804539 四舍五入取小数点后两位:45.32
  • 商品2实付金额:86.00*0.907364520611=78.03334877258 四舍五入取小数点后两位:78.03
  • 商品3实付金额:79.95*0.907364520611=72.543793422881 四舍五入取小数点后两位:72.54
  • 商品1实付金额+商品2实付金额+商品3实付金额 = 195.89

问题描述:计算后的实付总金额和该订单的支付金额不一致

问题原因:三件商品四舍五入都是舍去,导致计算的实付总金额小于付款金额.

解决方法:在计算最后商品3实付金额时,不用折扣率去计算,直接使用:订单金额-商品1实付金额-商品2实付金额=商品3实付金额

Ps:为什么不直接用支付金额去退款,因为存在部分商品退款和比例退款,所以要计算出商品的实付金额