#39302 [Opn->Bgs]: integer/datatype error
| From: | mike@php.net | Date: | Mon, 30 Oct 2006 07:45:29 +0000 |
| Subject: | #39302 [Opn->Bgs]: integer/datatype error | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-104156@lists.php.net to get a copy of this message | ||
ID: 39302
Updated by: mike@php.net
Reported By: paul at takizo dot com
-Status: Open
+Status: Bogus
Bug Type: Math related
Operating System: FreeBSD 6.1 Released
PHP Version: 5.1.6
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.
If you would like to know more about "floats" and what IEEE
754 is read this:
http://docs.sun.com/source/806-3568/ncg_goldberg.html
Thank you for your interest in PHP.
.
Previous Comments:
------------------------------------------------------------------------
[2006-10-30 07:11:00] paul at takizo dot com
Description:
------------
I wrote a function to match a number and return result. But it seem
like not working then certain integer is assigned.
It should return "hello world" When the loop value match 0.06, but it
doesn't. But it works is other value assigned. For ecample 0.01, 0.02,
0.10 and etc.
Reproduce code:
---------------
function testing($selection = 0)
{
for ($i = 0; $i <= 0.20; $i = $i + 0.01)
{
if($i == $selection)
{
echo 'hello world';
}
}
}
testing(0.06);
Expected result:
----------------
hello world
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=39302&edit=1