Bug #52324 [Bgs]: bad result when adding two floats
Edit report at http://bugs.php.net/bug.php?id=52324&edit=1
ID: 52324
User updated by: brunog at micro-examples dot com
Reported by: brunog at micro-examples dot com
Summary: bad result when adding two floats
Status: Bogus
Type: Bug
Package: *General Issues
Operating System: ubuntu
PHP Version: 5.2.14RC2
New Comment:
strangely it works fine on an older php version
PHP Version => 5.1.6
gives 0.1 as expected
Previous Comments:
------------------------------------------------------------------------
[2010-07-13 01:16:39] rasmus@php.net
It doesn't show 0.0 on any PHP version I have access to. No idea about
your
5.2.4. That's from 3 years ago. I don't have anything that old on any
of my
machines.
------------------------------------------------------------------------
[2010-07-13 01:10:58] brunog at micro-examples dot com
maybe, but 0.0: is not a correct value at all as an add result, whatever
floating point accuracy is
0.09 + 0.02 gives 0.11 as expected, neither 0.109999999999 nor 0.::
------------------------------------------------------------------------
[2010-07-13 01:04:36] rasmus@php.net
That is the "correct" value according to how computers store floating
point
values. If you want it accurate to 2 decimal places, round() it to 2
decimal
places. Read the big red warning box here:
http://php.net/manual/en/language.types.float.php
------------------------------------------------------------------------
[2010-07-13 00:58:02] brunog at micro-examples dot com
thank you for the quick reply
adding ini_set('precision',16); does not give correct result value :
0.09999999999999999
is it an echo() bug ?
0.0: is lexicographically before 0.1
0.09 + 0.01 = 0.0: is correct ascii saying
------------------------------------------------------------------------
[2010-07-13 00:39:21] rasmus@php.net
prints 0.1 for me. You are probably hitting a floating point limitation
combined
with a precision setting problem in your environment. Try adding
ini_set('precision',16); to the top of your script and you will see.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/bug.php?id=52324
--
Edit this bug report at http://bugs.php.net/bug.php?id=52324&edit=1
Thread (9 messages)