ID: 46724 User updated by: yanan at joit dot com Reported By: yanan at joit dot com Status: Bogus Bug Type: Unknown/Other Function Operating System: WindowsXP PHP Version: 5.2.6 New Comment:
Thank u. I need to think about a new method to solve my problem... Previous Comments: ------------------------------------------------------------------------ [2008-12-01 10:15:44] [EMAIL PROTECTED] 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. ------------------------------------------------------------------------ [2008-12-01 10:06:27] yanan at joit dot com Description: ------------ <?php $price = 10.05; $f_price = $price * 100; $int_price = floor($f_price); var_dump($f_price==$int_price); ?> The codes below should print bool(true) .But in fact, it prints bool(false) . The same results appear when $price=10.03 or 10.04. However, when $price=10.06, it prints bool(true) . Reproduce code: --------------- <?php $price = 10.05; $f_price = $price * 100; $int_price = floor($f_price); var_dump($f_price==$int_price); ?> Expected result: ---------------- bool(true) Actual result: -------------- bool(false) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=46724&edit=1