ID: 39126 Updated by: [EMAIL PROTECTED] Reported By: bobson at rpg dot pl -Status: Open +Status: Bogus Bug Type: Unknown/Other Function Operating System: Linux PHP Version: 5CVS-2006-10-11 (snap) New Comment:
The output may differe depending on your localem but the input must always be the same, otherwise your script would not work on servers with different locales. Previous Comments: ------------------------------------------------------------------------ [2006-10-11 15:32:13] bobson at rpg dot pl Description: ------------ When converting to float from string, its always use "." as a decimal separator, but echo shows decimal separator using locale definition. Because of that there's a problem eg. in dbase function on numeric(float) fields. Reproduce code: --------------- setlocale(LC_ALL,"pl_PL"); echo '1.2*1='; echo "1.2"*1; //produce 1.2*1=1,2 echo '1,2*1='; echo "1,2"*1; //produce 1,2*1=1 <- this was expected to produce 1,2 float on pl_PL (in PL decimal separator is ",") setlocale(LC_ALL,"en_EN"); echo '1.2*1='; echo "1.2"*1; //produce 1.2*1=1.2 echo '1,2*1='; echo "1,2"*1; //produce 1,2*1=1 <- correct on en_EN //the most ugly examlpe setlocale(LC_ALL,"pl_PL"); echo (("1.2"*1)."")*1; //produce 1 echo (("1,2"*1)."")*1; //also produce 1 Expected result: ---------------- on pl_PL 1 1,2 on en_EN 1.2 1 last one example code: 1 1,2 Actual result: -------------- on pl_PL 1,2 1 on en_EN 1.2 1 last one example code: 1 1 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=39126&edit=1