Edit report at http://bugs.php.net/bug.php?id=54164&edit=1

 ID:                 54164
 Updated by:         [email protected]
 Reported by:        eskolife at hotmail dot com
 Summary:            Wrong Output Values
-Status:             Open
+Status:             Bogus
 Type:               Bug
 Package:            *General Issues
 Operating System:   Windows XP SP3
 PHP Version:        5.3.5
 Block user comment: N
 Private report:     N

 New Comment:

Truncating floating point values is always dangerous because computers
do not 

store floating point values precisely, so when you do
floor(4.999999999999999) you 

are going to get 4, not 5. Use round() instead. You can read more about
it here: 

http://en.wikipedia.org/wiki/IEEE_754-2008


Previous Comments:
------------------------------------------------------------------------
[2011-03-04 23:17:58] eskolife at hotmail dot com

Description:
------------
$Val = cos(deg2rad(60));

$Val = $Val * 10;

echo $Val.'---'.intval($Val).'<br>';

echo $Val.'---'.floor($Val);



then the output of this simple code should be:

5---5

5---5



but the real output is:

5---4

5---4



Test script:
---------------
<?php



  $Val = cos(deg2rad(60)); 

  $Val = $Val * 10;

  echo $Val.'---'.intval($Val).'<br>';

  echo $Val.'---'.floor($Val);



?>

Expected result:
----------------
5---5

5---5

Actual result:
--------------
5---4

5---4


------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=54164&edit=1

Reply via email to