- round: documentation ( source)
<?php
class Utils
{
public static function areFloatNumbersEquals($num1, $num2, $precision = 2)
{
if(!is_int($precision) || $precision < 0 || $precision > 7){
throw new InvalidArgumentException('Invalid param precision');
}
$num1 = round((float) $num1, $precision);
$num2 = round((float) $num2, $precision);
return $num1 == $num2;
}
}
if(Utils::areFloatNumbersEquals(0.054436, 0.054399, 3)){
echo 'equals';
} else {
echo 'different';
}