【问题标题】:Get the currency of a locale [duplicate]获取语​​言环境的货币[重复]
【发布时间】:2011-08-09 03:24:17
【问题描述】:

可能重复:
How to get the default currency from the PHP Intl ( ICU library )

我在 php 中使用 intl 扩展来处理本地化内容和格式化内容。由于我已经知道 en_US 等语言环境,是否可以从 PHP 中获取语言环境的货币?

如果语言环境是 en_US,我应该得到 $ 或 USD,如果语言环境是 en_AU,我应该得到 $ 或 AUD。

我需要将 3 个字母的 ISO 4217 货币代码传递给 numberFormatter::Currency。

谢谢:)

【问题讨论】:

  • 我正在使用 intl 扩展中的 numberformatter::Currency 进行格式化,所以这种方法不起作用。
  • 查看@Gordon 的回答:stackoverflow.com/a/8325456/419

标签: php localization currency


【解决方案1】:

localeconv() 函数将为您提供有关当前语言环境的许多有用信息,包括国际货币符号(如 int_curr_symbol)。

如果您感兴趣的语言环境未设置为当前语言环境,您必须使用setlocale() 临时切换到它。

【讨论】:

  • 这将是理想的,但 setlocale 跨系统是如此不一致,我宁愿避免它。
  • 这是最好的,但无需硬编码将区域设置映射到货币符号的表格。包括 Linux 在内的许多系统在 libc 中没有任何函数来从不活动的语言环境中获取数据。
  • 如果您正在使用框架,或者可以访问框架,您可能希望使用与系统无关的实现。
猜你喜欢
  • 1970-01-01
  • 2012-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多