ID: 39873 Updated by: [EMAIL PROTECTED] Reported By: rob4you at vodafone dot it -Status: Open +Status: Feedback Bug Type: Strings related Operating System: Windows XP PHP Version: 5.2.0 New Comment:
>But the problem isn't resolved. Yes, it was never supposed to work this way. This is exactly the reason why wer have number_format() function. >On the contrary, it's going worse: I can't reproduce this. Please try the next snapshot. Previous Comments: ------------------------------------------------------------------------ [2006-12-18 19:43:24] rob4you at vodafone dot it I've tried the link for Windows you suggested: http://snaps.php.net/win32/php5.2-win32-latest.zip. Now i've this version of php: "PHP Version 5.2.1RC2-dev". But the problem isn't resolved. On the contrary, it's going worse: now it's ignored also the decimal separator [decimal_point] with %f. The problem persists also with other os. With the same script of the previous message, here it is the output produced: Actual result: -------------- Italian_Italy.1252 1234,56 Not dependant in local settings: 1234.56000 Dependant on local settings: 1234.560000 Array ( [decimal_point] => , [thousands_sep] => . ...etc... ) The expected result is obviously the same as the previous message: Expected result: ---------------- Italian_Italy.1252 1.234,56 Not dependant in local settings: 1234.560000 Dependant on local settings: 1.234,560000 Array ( [decimal_point] => , [thousands_sep] => . ...etc... ) ------------------------------------------------------------------------ [2006-12-18 18:52:47] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.2-win32-latest.zip ------------------------------------------------------------------------ [2006-12-18 17:48:18] rob4you at vodafone dot it Description: ------------ The [thousands_sep] states dot "." as separator of thousands, but the output of the number DOES NOT show it. It is correctly shown in the array returned by "localeconv" although. I've observed the same problem on other OS and with other locales. Reproduce code: --------------- <?php echo "<pre>"; $ita=array("ita","it","Italian","it_IT","it_IT.ISO8859-1","it_IT.ISO_8859-1"); $local_settings=setlocale(LC_ALL,$ita); echo $local_settings."<br>"; $num=0+"1234.56"; echo $num; printf("\n Not dependant in local settings: %F \n",$num); printf("\n Dependant on local settings: %f \n",$num); $x=localeconv(); print_r($x); echo "</pre>"; ?> Expected result: ---------------- Italian_Italy.1252 1.234,56 Not dependant in local settings: 1234.560000 Dependant on local settings: 1.234,560000 Array ( [decimal_point] => , [thousands_sep] => . ...etc... ) Actual result: -------------- Italian_Italy.1252 1234,56 Not dependant in local settings: 1234.560000 Dependant on local settings: 1234,560000 Array ( [decimal_point] => , [thousands_sep] => . ...etc... ) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=39873&edit=1