ID: 28515
Updated by: [EMAIL PROTECTED]
Reported By: andrew dot panin at nvkz dot net
-Status: Open
+Status: Bogus
Bug Type: Output Control
Operating System: Windows 98 SE
PHP Version: Irrelevant
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.
Look at this:
[EMAIL PROTECTED] php-cvs $ php -r 'var_dump(3*(7/3 - 2) == 1);'
bool(false)
(7/3-2) == 1/3 but a float can never be 1/3 exact.
E.g. floats cannot handle fractions.
Previous Comments:
------------------------------------------------------------------------
[2004-05-25 06:20:54] andrew dot panin at nvkz dot net
Description:
------------
Just look into the code!
Reproduce code:
---------------
<?php
$in="1234567";
$d = 0;
$d = 3*abs(strlen($in)/3 - floor(strlen($in)/3));
print $d;
//here $d=1, as it PHP print
if ($d == 1) { print "E"; }
//The "E" is NOT prints!
die();
?>
Expected result:
----------------
That the "E" will be shown.
Actual result:
--------------
NOTHING!!!
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=28515&edit=1