多数大学生出来选择的工作和专业无关
首页 > 新闻动态 > 行业动态

PHP比较浮点型数字

时间:2013-11-05 20:22:50 [来源]:郑州PHP培训学校

      浮点型数字在计算机中以二进制形式表示时,只用有限的位数保存尾数和指数。当超出既定的位数时,就会发生溢出。因此,有时候PHP(其他语言)不会认为两个相等的数就是真正的相等,因为也许最后的某几位上存在着不一致的地方。

    为了避免这个问题出现,不是要检查是否$a==$b,而是要确保第一个数位于第二个数一个非常小的浮动范围之内。这个浮动范围(增量)应该是你认为两个数之间应该存在的最小的差值数。然后,用abs()对这个差值取绝对值。
    实例代码:
<?php
    $delta=0.00001;
    $a=1.00000001;
    $b=1.00000001;
    if(abs($a-$b)<$delta){echo $a."和".$b."相等";}
    else{echo $a."和".$b."不相等";}
?>

上一篇:PHP对浮点型数取整

下一篇:PHP检测变量中是否包含有效的数字