gpt4 book ai didi

php - 在 PHP 中获取货币符号

转载 作者:bug小助手 更新时间:2023-10-28 10:43:38 25 4
gpt4 key购买 nike

让我们从一段简单的代码开始,用 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 代码获取货币符号?

最佳答案

首先,世界上没有任何人都可以阅读和理解的国际全局货币符号表。

在每个地区/国家/地区,货币符号会有所不同,这就是为什么您必须使用浏览器/用户区域设置根据阅读者来确定它们。

正确的方法如您所料,使用 NumberFormatter::CURRENCY_SYMBOL,但您首先必须设置适当的语言环境,例如 en-US@currency=JPY:

$locale='en-US'; //browser or user locale
$currency='JPY';
$fmt = new NumberFormatter( $locale."@currency=$currency", NumberFormatter::CURRENCY );
$symbol = $fmt->getSymbol(NumberFormatter::CURRENCY_SYMBOL);
header("Content-Type: text/html; charset=UTF-8;");
echo $symbol;

这样用户就可以理解符号了。

例如,$symbol 将是:

  • 加元 (CAD):CA$在美国,CAD在罗马尼亚,$CA在伊朗
  • 伊朗里亚尔 (IRR):美国为IRR,而伊朗为

关于php - 在 PHP 中获取货币符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13897516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com