项目中用到微信支付。今天出了个bug,用户花了钱,但是没有买到东西。最后查订单发现,商品要18.8元,但是用户花了18.79元。差了1分钱。
传给微信的钱,单位是分。但是在传之前,会以String、单位为元的格式,传来传去,只有最后传给微信的时候,会变成数字运算,做最后的处理。这个时候,就会出问题了。看下图
这里,之前一直是元直接乘以100,变成分。但是有时候会出问题。解决的办法就是,乘以1000,除以10。这样,float和double,都不会出错。把得到的数据,传给微信即可
项目中用到微信支付。今天出了个bug,用户花了钱,但是没有买到东西。最后查订单发现,商品要18.8元,但是用户花了18.79元。差了1分钱。
传给微信的钱,单位是分。但是在传之前,会以String、单位为元的格式,传来传去,只有最后传给微信的时候,会变成数字运算,做最后的处理。这个时候,就会出问题了。看下图
这里,之前一直是元直接乘以100,变成分。但是有时候会出问题。解决的办法就是,乘以1000,除以10。这样,float和double,都不会出错。把得到的数据,传给微信即可