, , epsilon , .
:
function areEqual(float $a, float $b) : bool {
return abs(($a - $b) / $b) < 0.00001;
}
areEqual(10000, 10000.01);
areEqual(0.0000001, 0);
: 0.00001 ; , . , $a $b , , $a $b. 10000 ( ), 0.0000001 , , , .
.
: , . , . , .. , -, , . , , 1, 0.00001.
: . , . 0, , , . , epsilon. , , (/ 0.0001 * 10000) (/ 10000, , , , 10000)
. abs($a - $b) , , & div; . , abs ($a - $b) / $b. "", 0.00001, , 0.00001, 0,001%.
, . , , / , , - , epsilon. , epsilon float.
, , . . ( ) , . , , , .
