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]

Reply via email to