<?php
$number = 3.0000000002;
$precision = 12;
$delta = pow(0.1, $precision);
$rounded = round($number, 8);//$precision);
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;
- Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
- Delta is : 1.0E-12
Source number: 3.0000000002
Warning: Undefined variable $roundedResult in /in/kYvp6 on line 27
Rounded result:
Inted result: 3.0000000002
- Output for 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.31, 7.4.0 - 7.4.25, 7.4.27 - 7.4.33
- Delta is : 1.0E-12
Source number: 3.0000000002
Notice: Undefined variable: roundedResult in /in/kYvp6 on line 27
Rounded result:
Inted result: 3.0000000002
- Output for 5.2.2 - 5.2.17, 7.3.32 - 7.3.33, 7.4.26
- Delta is : 1.0E-12
Source number: 3.0000000002
Rounded result:
Inted result: 3.0000000002
- Output for 4.3.10 - 4.3.11, 4.4.0 - 4.4.9, 5.0.2 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.1
- Delta is : 1E-12
Source number: 3.0000000002
Rounded result:
Inted result: 3.0000000002
- Output for 4.3.0 - 4.3.9, 5.0.0 - 5.0.1
- Delta is : 1E-12PHP_EOLSource number: 3.0000000002PHP_EOLRounded result: PHP_EOLInted result: 3.0000000002PHP_EOL
preferences:
274.23 ms | 402 KiB | 456 Q