Мне точно известно, как валюта "SEK" (Swedi sh money) должна быть отформатирована в локали "SE" (Швеция) с языком "sv" (Swedi sh). Предполагается использовать периоды для тысяч разделителей. Однако следующий пример минимального кода покажет, что PHP выводит его с пробелами вместо точек для разделителей тысяч. делает правильную запятую (для десятичного знака), а также "kr" в конце, поэтому я не знаю, что из этого сделать:
// Пример кода № 1 (работает правильно):
$a = new \NumberFormatter('en_US', \NumberFormatter::CURRENCY);
var_dump($a->formatCurrency(123456789.987, 'USD'));
Expected output:
$123,456,789.99
Actual output:
$123,456,789.99
// Пример кода № 2 (похоже, не работает правильно):
$a = new \NumberFormatter('sv_SE', \NumberFormatter::CURRENCY);
var_dump($a->formatCurrency(123456789.987, 'SEK'));
Expected output:
123.456.789,99 kr
Actual output:
123 456 789,99 kr
Какая это может быть причина? Это так расстраивает, что "почти" понял все правильно.