Я установил локаль в en
для моего числового формата. Форматирование валюты как USD
результаты в $x.xx
тогда как форматирование валюты как CAD
результаты в CA$x.xx
, Я попытался установить шаблон как ¤#,##0.00
а также ¤¤#,##0.00
но первый не всегда добавляет буквы перед символом валюты, а второй не делает, как я надеялся. Может кто-нибудь подсказать, как получить оба US$x.xx
а также CA$x.xx
при форматировании валют?
Вы можете сделать что-то вроде
if(objNumberFormatter->getTextAttribute(NumberFormatter::CURRENCY_CODE) == 'USD')
$objNumberFormatter->setAttribute(NumberFormatter::PAD_BEFORE_PREFIX, 'US');
ИЛИ ЖЕ
if($currency == 'USD')
$objNumberFormatter->setAttribute(NumberFormatter::PAD_BEFORE_PREFIX, 'US');
Или вы можете изменить его шаблон
if($currency == 'USD')
$objNumberFormatter->setPattern('US ¤#,##0.00');
Других решений пока нет …