【发布时间】:2015-07-20 08:35:03
【问题描述】:
下面的代码可以工作,但有时它会超出 0.01,如下例所示
如何保证净值(amountA+amountB)加增值税永远等于钱包+扣子的总和
{
this.transaction.NetValue = Math.Round(Convert.ToDecimal(wallet) / 1.2m + Convert.ToDecimal(gusset) / 1.2m, 2); (5587.67)
netAmountA = Math.Round(Convert.ToDecimal(wallet) / 1.2m, 2); (1126.28)
netAmountB = Math.Round(Convert.ToDecimal(gusset) / 1.2m, 2); (4461.38)
vatAmount = Convert.ToDecimal(wallet) + Convert.ToDecimal(gusset) - Math.Round(Convert.ToDecimal(wallet) / 1.2m + Convert.ToDecimal(gusset) / 1.2m, 2);
}
增值税金额为 1117.53
净额A 1126.28
netAmountB 4461.38
总共 6705.19(减去 0.01)
本例中的总数为6705.20,由
钱包 = 5353.66
扣板 = 1351.54
【问题讨论】:
标签: c#