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那样单独安装语言环境。 在这种情况下,也许我们应该依靠浏览器吗?
答案 0 :(得分:0)
您可以改用intl
扩展名中的NumberFormatter
。
$fmt = new NumberFormatter('en_AU.UTF8', NumberFormatter::CURRENCY);
print $fmt->formatCurrency(2500, 'EUR');
由于它附带了自己的语言环境数据,因此不需要单独安装每个语言环境。