大部分第三方分账最低金额为1分钱,参与分账的金额有时会出现多位小数的情况采用系统自动四舍五入的decimal.Round()函数容易导致最后参与分账的金额超出代收金额 导致分账失败,因为这个函数默认的四舍五入模式与中国的四舍五入不太一样。
解决方案采取:Math.Round(2.666,2, MidpointRounding.AwayFromZero)函数强转。
再加上实际分账金额做一个预处理机制 这样就能保证最后的分账金额不会超出实际代收金额。
大部分第三方分账最低金额为1分钱,参与分账的金额有时会出现多位小数的情况采用系统自动四舍五入的decimal.Round()函数容易导致最后参与分账的金额超出代收金额 导致分账失败,因为这个函数默认的四舍五入模式与中国的四舍五入不太一样。
解决方案采取:Math.Round(2.666,2, MidpointRounding.AwayFromZero)函数强转。
再加上实际分账金额做一个预处理机制 这样就能保证最后的分账金额不会超出实际代收金额。