ID:              49398
 User updated by: mark dot j dot wade at googlemail dot com
 Reported By:     mark dot j dot wade at googlemail dot com
-Status:          Feedback
+Status:          Open
 Bug Type:        Strings related
 PHP Version:     5.2.10
 New Comment:

Linux


Previous Comments:
------------------------------------------------------------------------

[2009-08-28 12:48:25] [email protected]

Which OS?

------------------------------------------------------------------------

[2009-08-28 12:46:48] mark dot j dot wade at googlemail dot com

Description:
------------
number_format will only accept a single character for the thousands 
separator and deliberately shortens longer input to one character.

However, for some charsets (ru_RU.UTF8 was the one I discovered this
on) 
the thousands separator as returned by localeconv is more than one 
character.
Normally, this wouldn't be a problem, however, it seems when PHP tries

to shorten this particular value to one character, it creates an
invalid 
character and returns something like demonstrated in the reproduce
code.

Reproduce code:
---------------
setlocale( L_ALL, 'ru_RU.UTF8' );
$locale = localeconv(); 
echo number_format( 9999, 0, $locale['decimal_point'],
$locale['thousands_sep'] );

Expected result:
----------------
9 999

Actual result:
--------------
9?999


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=49398&edit=1

Reply via email to