微信支付的支付金额计算

场景:

我们通常在设计电商系统的价格字段时,大多数会用decimal(18,5),而且,在业务系统里面,这个字段的最小单位是元。

问题:

那么通过以上的设计,问题来了,微信支付的下单接口上的订单金额字段是要以分为单位,且不能带有小数点,再且要以字符串为主。

API文档是这么说的:总金额 total_fee 是 Int 888 订单总金额,单位为分

解决:

所以,我们要对我们的设计进行换算,下面提供一下我的换算方式:

Convert.ToInt32((decimal) (trade.TotalMoney * 100M)).ToString(CultureInfo.InvariantCulture)

以此记录一下。问题解决!

原文地址:https://www.cnblogs.com/EasonJim/p/5355979.html