ID: 10131
Updated by: derick
Reported By: [EMAIL PROTECTED]
Old-Status: Open
Status: Closed
Bug Type: Math related
Assigned To:
Comments:
This is not a bug in PHP. it's how floating point math works, and there is nothing
that we can do to change it.
The problem is that these floating point number are stored as a as good as possible
representation of the numbers you use, but it's not possible to get them stored
exactly as you want them to be.
Previous Comments:
---------------------------------------------------------------------------
[2001-04-03 03:46:38] [EMAIL PROTECTED]
Execute this script:
<?
$a = 250.02;
$b = 210.10;
$c = 39.92;
echo "a = $a<br>n";
echo "b = $b<br>n";
echo "c = $c<br>n";
echo "(b+c)-a = " . (($b+$c)-$a) . "<br>n";
?>
It SHOULD echo:
a = 250.02
b = 210.1
c = 39.92
(b+c)-a = 0
But it echoes on my machine:
a = 250.02
b = 210.1
c = 39.92
(b+c)-a = -2.8421709430404E-14
When you change the values, for example like this:
<?
$a = 250.022;
$b = 210.101;
$c = 39.921;
?>
it echoes the correct values... if against all odds I am doing something wrong, please
tell me....!
Marc, a very happy php programmer!
P.S. I compiled PHP with this command line:
'./configure' '--with-mysql' '--with-pgsql' '--with-esoob' '--with-magic-quotes'
'--with-apxs' '--with-ftp' '--with-config-file-path=.'
---------------------------------------------------------------------------
ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=10131&edit=2
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]