标签:
这一段时间维护一个类似团购的系统,需要处理订单,也就难免会处理金额 所以有很多PHP的坑 被我狠狠的踩了~~
首先我们要知道浮点数的表示(IEEE 754):
简言之 就是 埋下了一个大坑 等着你跳 比如处理 浮点加减法的时候
<?php echo (53.55-(3.67+49.88)); //-7.105427357601E-15 ?>
有木有感觉到深深地恶意、但是也是PHP按标准执行的 只能是迂回前进了;
解决方案:
具体用法也是很简单 例如
<?php // echo (53.55-(3.67+49.88)); echo (floatval(bcsub(bcadd(3.67,49.88),53.55)));
//-0 ?>
虽说是-0但也算处理的效果达到了、
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
标签:
原文地址:http://www.cnblogs.com/jso0/p/4620820.html