Edit report at https://bugs.php.net/bug.php?id=55409&edit=1
ID: 55409 Updated by: larue...@php.net Reported by: php-bugs at nickshanks dot com Summary: Casting floats containing an integer to ints gives wrong result -Status: Open +Status: Bogus Type: Bug Package: Math related Operating System: Irrelevant PHP Version: Irrelevant Block user comment: N Private report: N 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://www.floating-point-gui.de/ Thank you for your interest in PHP. Previous Comments: ------------------------------------------------------------------------ [2011-08-13 10:38:31] larue...@php.net Float values have a limited precision. Hence a value might not have the same string representation after any processing. That also includes writing a float number in your script and directly printing it without any mathematical operations. Thank you for your interest in PHP. ------------------------------------------------------------------------ [2011-08-12 07:48:19] php-bugs at nickshanks dot com Description: ------------ Casting of certain floating-point values, containing just of an integer component and a zero fractional component, to an integer results in wrong value. Test script: --------------- echo '32.55' * 100; echo "\n"; echo (int)('32.55' * 100); Expected result: ---------------- 3255 3255 Actual result: -------------- 3255 3254 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=55409&edit=1