ID: 37938 Updated by: [EMAIL PROTECTED] Reported By: fprado at pmovil dot com dot br -Status: Open +Status: Bogus Bug Type: Variables related Operating System: Fedora Core release 3 (Heidelber PHP Version: 5.1.4 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-06-27 20:27:39] fprado at pmovil dot com dot br Description: ------------ When I multiply 2.30 by 100 and then try to typecast the result as a integer, I get the result 229. Reproduce code: --------------- <?php echo "2.30"*100; echo "\n"; echo (int)("2.30"*100); echo "\n"; echo "2.99"*100; echo "\n"; echo (int)("2.99"*100); echo "\n"; echo "2.50"*100; echo "\n"; echo (int)("2.50"*100); echo "\n"; echo "2.55"*100; echo "\n"; echo (int)("2.55"*100); echo "\n"; echo (int)("230"); ?> Expected result: ---------------- 230 230 299 299 250 250 255 255 230 Actual result: -------------- 230 229 299 299 250 250 255 254 230 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=37938&edit=1
