ID:               27733
 Updated by:       [EMAIL PROTECTED]
 Reported By:      admin at rubas dot net
-Status:           Open
+Status:           Bogus
 Bug Type:         Math related
 Operating System: Linux 2.4.xx and 2.6.xx
 PHP Version:      4.3.4
 New Comment:

Floating point values have a limited precision. Hence a value might 
not have the same string representation after any processing. That also
includes writing a floating point value in your script and directly 
printing it without any mathematical operations.
 
Thank you for your interest in PHP.




Previous Comments:
------------------------------------------------------------------------

[2004-03-27 11:19:30] j at bitron dot ch

Other programming languages as for example C don't have such
inaccuracies in results of that simple calculations. According to the
IEEE standard for floating point arithmetic, the different programming
languages must not return different results on the same machine.

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

[2004-03-27 11:12:58] admin at rubas dot net

Description:
------------
Sample Code:

<?php

$resultA = ((6 * 5.95) - (5.95 + 5.95 + 5.95 + 5.95 + 5.95 + 5.95));



$resultB = ((7 * 5.95) - (5.95 + 5.95 + 5.95 + 5.95 + 5.95 + 5.95 +
5.95));



echo "Result A: ".$resultA."\n";

echo "Result B: ".$resultB."\n";



?>



Output:

Result A: 0

Result B: -7.105427357601E-15



Reproduced with:

PHP 4.3.4

PHP 4.3.3

PHP 4.3.2







Reproduce code:
---------------
Sample Code:

<?php

$resultA = ((6 * 5.95) - (5.95 + 5.95 + 5.95 + 5.95 + 5.95 + 5.95));



$resultB = ((7 * 5.95) - (5.95 + 5.95 + 5.95 + 5.95 + 5.95 + 5.95 +
5.95));



echo "Result A: ".$resultA."\n";

echo "Result B: ".$resultB."\n";



?>

Expected result:
----------------
Result A: 0

Result B: 0

Actual result:
--------------
Result A: 0

Result B: -7.105427357601E-15


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


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

Reply via email to