iOS开发中的小数点和0引起的小坑随记
2016-06-18 本文已影响495人
wg689
1)以前集成支付宝,给支付宝的价格1.200元,网页可以支付,客户端不能支付,把价格改为1.20元就一切好了,哎这是刚开始编程的时候,犯的错误.
2)上次去微信支付,生成的订单是价格是3.5元,3.5元给后台,后台进行相关处理,结果app 上有一笔订单,价格永远是3.49元(少了一分钱哈),经过对微信支付的流程的回顾,并检查代码确定支付页面的3.49元是后台传给微信支付服务器的,app传给后台的价格是3.5元,所以问题出在后台,(经过确认后台NSString 转double 的时候出的问题,看似小问题5年java 的程序员,定位bug10分钟,修复此bug 花了50分钟)
3)我们项目中上门预约的时候使用微信支付,如果用户生成了一笔订单,发起支付,在微信支付快输入密码的时候取消支付的操作了,那么就有一笔订单是待支付的状态,用户再次去发起微信支付的时候不成功.经过排查是:两次生成的标题相差了一个小数点导致两次生成的支付标题不一致,(例如:购买某某商品支付5.0元,购买某某商品支付5.00元,这样标题就不一样了),ps:微信对支付失败的订单重新发起支付的时候两次支付的标题必须一样,否则会支付不成功