Search code examples
phpfloor

PHP decimal rounding error


$duration = 35780.123000; // duration in seconds.

$milliseconds = $duration - floor($duration);
echo $milliseconds
// 0.12299999999959

How do I extract the milliseconds 0.123000 without freaky rounding errors? I need to keep 6 decimals for precision. (So not 0.123)


Solution

  • echo number_format($milliseconds,6);
    

    http://php.net/manual/en/function.number-format.php