3v4l.org

run code in 300+ PHP versions simultaneously
<?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'; }

preferences:
44.59 ms | 402 KiB | 5 Q