今天无意中发现erphpdown插件用户充值的金额5.01,消费金额5元,余额剩余0.01的时候会显示0.0099999999999998,查询数据库发现字段是正常的0.01,那这个问题就出现在php代码上,网上搜索了下这个是精度问题,需要用到round四舍五入的函数。
举例:
round(2.1415926,2)=2.14;
round(2.1415926,3)=2.142;
select round(193,-2)from dual; 200
select round(193,-1)from dual;190
select round(193,-3)from dual;0
我们需要把插件中$okMoney
变量修改成round($okMoney,2)
,这个的意思就是保留2位数。
或者搜索插件中的erphpGetUserOkMoney()
改成round(erphpGetUserOkMoney(),2)
,这样就不会出现问题了。
© 版权声明
THE END
暂无评论内容