0
有什麼辦法來檢索貨幣想與PHP NumberFormatter類下面的符號:PHP的NumberFormatter打印ISO 3貨幣代碼
100,00 EUR
基本上代替的符號€我想要的ISO 3碼。
另一種方法是完全省略符號,但我仍然希望將類型保留爲NumberFormatter:CURRENCY。不知道如何做到這一點。
最後是關於str_replace的嗎?
有什麼辦法來檢索貨幣想與PHP NumberFormatter類下面的符號:PHP的NumberFormatter打印ISO 3貨幣代碼
100,00 EUR
基本上代替的符號€我想要的ISO 3碼。
另一種方法是完全省略符號,但我仍然希望將類型保留爲NumberFormatter:CURRENCY。不知道如何做到這一點。
最後是關於str_replace的嗎?
您可以手動設置的貨幣符號,與
$nf->setSymbol(\NumberFormatter::CURRENCY_SYMBOL, '<my symbol>');
&然後使用format()
方法進行格式化。但我認爲,那不是你想要的。例如:
$nf_en = new \NumberFormatter('en', \NumberFormatter::CURRENCY);
$nf_en->setTextAttribute(\NumberFormatter::CURRENCY_CODE, 'EUR');
$nf_en->setSymbol(\NumberFormatter::CURRENCY_SYMBOL, 'EUR');
$nf_de = new \NumberFormatter('de', \NumberFormatter::CURRENCY);
$nf_de->setTextAttribute(\NumberFormatter::CURRENCY_CODE, 'EUR');
$nf_de->setSymbol(\NumberFormatter::CURRENCY_SYMBOL, 'EUR');
echo $nf_en->format(1); // this will print 'EUR1.00'!
echo $nf_de->format(1); // this will print 'EUR 1,00'!
如果貨幣代碼設置爲''
,仍然會有語言環境,在格式化字符串開始(或終止)以空格(一個或多個)。使用NumberFormatter
作爲十進制數格式會更容易。
您是否擁有ISO貨幣代碼的數據源? IIRC PHP沒有內置的。 – Dai