moneyphp / money

PHP implementation of Fowler's Money pattern.
http://moneyphp.org
MIT License
4.62k stars 440 forks source link

Question about Yemenis YER cent amount #758

Closed alnouirah closed 10 months ago

alnouirah commented 1 year ago

In the ISO, YER has cents like USD, EUR ..etc. https://github.com/moneyphp/iso-currencies/blob/d66effc1c28c6868f7d782dcc6ba965415ed68e8/resources/current.yaml#L884C8-L884C8

But it is not being formatted like them! for example (USD) :

$money = Money::USD(850); $currencies = new ISOCurrencies(); 

$numberFormatter = new \NumberFormatter('en_USA', \NumberFormatter::CURRENCY); 
$moneyFormatter = new IntlMoneyFormatter($numberFormatter, $currencies); 
echo $moneyFormatter->format($money); // outputs $8.50 correct . 

when it comes to ( YER ) :

$money = Money::YER(850); $currencies = new ISOCurrencies(); 

$numberFormatter = new \NumberFormatter('en_YER', \NumberFormatter::CURRENCY); 
$moneyFormatter = new IntlMoneyFormatter($numberFormatter, $currencies); 
echo $moneyFormatter->format($money); // outputs YER 8 not correct !! it is supposed to be YER 8.50 

could anyone tell me what I am doing wrong 🤔?

frederikbosch commented 10 months ago

en_USA and en_YER are invalid. You are mixing up currency with a locale.