让我们从一段简单的代码开始,用 NumberFormatter
格式化货币:
$formatter = new NumberFormatter('en_US', NumberFormatter::CURRENCY);
echo $formatter->formatCurrency(123456789, 'JPY');
这打印: ¥123,456,789
。
如果你想格式化钱,这没关系。
但我想要做的是获取给定货币 ISO 4217 代码(例如 JPY)的货币符号(例如 ¥)。
我的第一个猜测是尝试使用:
$formatter->getSymbol(NumberFormatter::CURRENCY_SYMBOL);
但这为构造函数 (en_US) 中给出的语言环境提供了货币符号,在我的例子中是 $。
有没有办法通过 PHP 中的货币 ISO 4217 代码获取货币符号?
原文由 umpirsky 发布,翻译遵循 CC BY-SA 4.0 许可协议
我使用 https://github.com/symfony/Intl 实现了这个:
回报
Symfony 版本 > 4.3
值得指出的是 SF4.3 及更高版本已弃用:
所以,你可以这样做: