ID: 35275 Updated by: [EMAIL PROTECTED] Reported By: uwe dot voelker at vline dot de -Status: Open +Status: Bogus Bug Type: Math related Operating System: Win XP PHP Version: 5.0.5 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-11-18 14:13:33] uwe dot voelker at vline dot de Description: ------------ Addition of some negative floats fails ! Reproduce code: --------------- <?php // PHP 5.05 // First example shows the bug if ( (-56.33) != ((-14.13) + (-42.20)) ) { print "<HR> First Example: Why is -56.33 not -56.33 ??? <HR>"; } else { print "<HR> First Example: OK <HR>"; } // Second example with modified values but same result is ok if ( (-56.33) != ((-14.12) + (-42.21)) ) { print "<HR> Second Example: Why is -56.33 not -56.33 ??? <HR>"; } else { print "<HR> Second Example: OK <HR>"; } ?> Expected result: ---------------- First example: true, but must be false. Second example: false, it is OK. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=35275&edit=1