Hi,
I'm new to the PHP internals list and I'm posting an issue I'm sure has been mentioned before -- float comparison I'd like to know if there are reasons not to change the default behavior when comparing floats. i.e. This would seem logical to me: $test = 19.6*100; if((float)(string)$test == (double)1960) echo "GOOD BEHAVIOR"; // Implicitely convert the float to string then float (en_US locale) if($test == (double)1960) echo "THIS SHOULD PASS by casting (float)(string)$test internally..."; else echo "NOT GOOD BEHAVIOR"; // Exact comparison would still fail if($test !== (double)1960) echo "GOOD BEHAVIOR"; Any reason why $test == (double)1960 should fail? I realized we are comparing two floats, but couldn't php internally convert to string then float - for the non strict (===) case Thanks