网站首页php
PHP浮点数小坑
发布时间:2018-09-10 10:21:29编辑:slayer.hover阅读(3125)
在调试微信支付遇到的问题,
1. 提交订单金额时
$total_fee = intval($orders['amount'] * 100);
当$orders['amount']的值为19.9时, 得到的结果会少一分,应写为:
$total_fee = intval(strval($orders['amount'] * 100));
2. 支付回调时, 比较订单金额和回调金额
if ( $orders['fee']*100==$notify->data['total_fee'] ) {...}
当$orders['fee']的值为0.14时,上面两个值不相等。应使用BC数学库,写为:
if ( bccomp($orders['fee']*100, $notify->data['total_fee'])==0) ) {...}
评论