如何在PHP中将货币设置为setlocale / money_format

时间:2019-06-21 02:37:30

标签: php locale currency

setlocale将国家和语言作为参数。

'money_format'正在获取金额和其他参数。

但是我如何将货币告知PHP?

如果我想在澳大利亚使用欧元怎么办?

javascript一样可以

var formatter = new Intl.NumberFormat('en-AU', {
  style: 'currency',
  currency: 'EUR',
});
formatter.format(2500);

Chrome显然理解它是一种外币,需要像international currency format这样格式化为"EUR 2,500.00"

IE不理解,但提供了"€2,500.00"

PHP(这就是我的用法)

setlocale(LC_MONETARY, 'en-AU');
return money_format('%.2n', 2500);

"$2,500.00"(我应该责怪Ubuntu

澳大利亚需要一些默认的货币,我找不到改变它的方法。是否有格式库或我缺少的东西可以帮助您?

Java脚本不需要像Ubuntu那样单独安装语言环境。 在这种情况下,也许我们应该依靠浏览器吗?

1 个答案:

答案 0 :(得分:0)

您可以改用intl扩展名中的NumberFormatter

$fmt = new NumberFormatter('en_AU.UTF8', NumberFormatter::CURRENCY);
print $fmt->formatCurrency(2500, 'EUR');

由于它附带了自己的语言环境数据,因此不需要单独安装每个语言环境。