ID: 34294 Updated by: [EMAIL PROTECTED] Reported By: moerel at gmail dot com Status: Bogus Bug Type: *Math Functions Operating System: Linux PHP Version: 5.0.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: ------------------------------------------------------------------------ [2005-08-29 13:41:10] [EMAIL PROTECTED] Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php ------------------------------------------------------------------------ [2005-08-29 13:35:53] moerel at gmail dot com Description: ------------ I found some strange behaviour while casting a float to integer. It looks like something gets rounded in a strange way while casting. Reproduce code: --------------- <? $fltTest = 9.95; print ($fltTest * 100) . '<BR>'; print round($fltTest * 100) . '<BR>'; print (int)($fltTest * 100) . '<BR>'; ?> Expected result: ---------------- 995 995 995 Actual result: -------------- 995 995 994 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=34294&edit=1