я использую NumberFormatter :: FormatCurrency для отображения отформатированных значений валюты, как это;
$value = 395;
$fmt = numfmt_create('en_GB', NumberFormatter::CURRENCY);
echo numfmt_format_currency($fmt, $value, 'gbp');
На моем Windows dev box и Centos UAT box это выводит желаемый £ 395.
Но на коробке производства Centos он выводит gbp395.
Есть идеи, чего не хватает? Я проверил расширение intl включено.
Возможно, что-то не так с моими файлами локалей? Когда я печатаю
локаль -а
в командной строке я получаю длинный список локалей, среди которых en_GB.
Может быть en_GB
не является допустимым языковым стандартом в вашей системе. Пытаться en_GB.UTF-8
или же en_GB.ISO-8559-1
F.E.
NumberFormatter
класс неверен, а GBP должен быть в столице, вот так:'GBP'
Попробуй это:
$value = 395;
$currencyFormat = new NumberFormatter('en_GB', NumberFormatter::CURRENCY);
echo $currencyFormat->formatCurrency($value, 'GBP');
Это сделает £395.00