ID:          49398
 Updated by:  [email protected]
 Reported By: mark dot j dot wade at googlemail dot com
-Status:      Open
+Status:      Feedback
 Bug Type:    Strings related
 PHP Version: 5.2.10
 New Comment:

Which OS?


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

[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