有没有办法使用PHP NumberFormatter类检索货币符号,如下所示:
100,00 EUR
基本上不是符号€我想要ISO 3代码。
替代方法是完全省略符号,但我仍然希望将类型保持为NumberFormatter:CURRENCY。不知道怎么做。
最后是关于str_replace吗?
答案 0 :(得分:1)
您可以使用
手动设置货币符号 $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
格式化为十进制数字会更容易。