Мне интересно, есть ли способ разделить тысячи с космическим характером.
Например:
$number = 21234.56; setlocale(LC_ALL, 'pl_PL.utf8'); echo money_format('%i', $number);
дает мне:
21,234,56 PLN
И я хочу:
21 234,56 PLN
Я не хочу делать str_replace. Я уверен, что есть лучший способ.
Вы можете использовать number-format
. Например :
echo number_format($number, 2, ',', ' ');
Но вам нужно будет поставить устройство самостоятельно.
В противном случае этот комментарий на money_format
документации money_format
дает версию функции с некоторым кодом, который вы можете изменить, чтобы изменить разделитель тысяч.
Вы также можете сделать что-то вроде этого:
$locale = localeconv(); $text = money_format('%i', $number); $text = str_replace($locale['mon_thousands_sep'], ' ', $text);
см. http://php.net/manual/en/function.number-format.php
string number_format ( float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',' )
Для вашего случая:
number_format($number, 2, ',', ' ');