- abs: documentation ( source)
- round: documentation ( source)
- pow: documentation ( source)
<?php
$number = 3.0000000002;
$precision = 12;
$delta = pow(0.1, $precision);
$rounded = round($number, $precision);
$roundedResult = $number;
echo "Test 1".$rounded.PHP_EOL;
echo "Test 2".abs($number - $rounded).PHP_EOL;
if (abs($number - $rounded) < $delta) {
$roundedResult = intval($number);
}
$intedResult = $number;
if ((int) $number == $number){
$intedResult = (int) $number;
}
echo "Delta is : ".$delta.PHP_EOL;
echo "Source number: ".$number.PHP_EOL;
echo "Rounded result: ".$roundedResult.PHP_EOL;
echo "Inted result: ".$intedResult.PHP_EOL;