ID: 39302 Updated by: [EMAIL PROTECTED] 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
