Float浮点型

浮点型(也叫浮点数float,双精度数double或实数real)。

<?php
$a = 1.234; 
$b = 1.2e3; 
$c = 7E-10;
?>

要测试浮点数是否相等,要使用一个比该数大一丁点的最小误差值。该值也被称为机器极小值(epsilon)或最小单元取整数,是计算中所能接受的最小的差别值。

 

$a和$b在小数点后五位精度内都是相等的。

<?php
$a = 1.23456789;
$b = 1.23456780;
$epsilon = 0.00001;
 
if( abs( $a- $b) <  $epsilon) {
     echo "true";
}
?>

 

<?php
$x = 8 - 6.4;   //  which is equal to 1.6
$y = 1.6;
var_dump( $x ==  $y);  //  is not true
var_dump( round( $x, 2) ==  round( $y, 2));  //  this is true
?>

 

NaN:某些数学运算会产生一个由常量NaN所代表的结果。此结果代表着一个浮点数运算中未定义或不可表述的值。任何拿此值与它任何值进行的松散或严格比较的结果都是false。

 

由于NaN代表着任何不同值,不应该拿NaN去和其他值进行比较,包括其自身,应该使用is_nan()来检查。

你可能感兴趣的:(Float浮点型)