Search code examples
phpfloor

Why does floor() return value less by 1?


I'm doing some calculation in PHP using floor() method and find out this.

Code:

<?php
   echo(floor(69950.40-10670.40) . "<br>");
   echo(69950.40-10670.40);
?>

Output:

59279
59280

Note: I want it to be 59280 even after floor().

I don't know why it's happening. Any ideas friends?


Solution

  • Finally I tried this and overcame the error.

    Code:

    $number = 69950.40-10670.40;
    $number = sprintf("%.2f",$number);
    echo(floor($number) . "<br>");
    

    Output:

    59280
    

    I don't know if it's the right way, but it's what I need.