2

我正在使用NumberFormatter::formatCurrency来显示格式化的货币值,如下所示;

$value = 395;
$fmt = numfmt_create('en_GB', NumberFormatter::CURRENCY);
echo numfmt_format_currency($fmt, $value, 'gbp');

在我的 Windows 开发盒和 Centos UAT 盒上,这会输出所需的£395

但是在生产的 Centos 盒子上,它输出gbp395

知道缺少什么吗?我已经检查了国际扩展是否启用。

我的语言环境文件可能有问题吗?当我输入

语言环境-a

在命令行中,我得到一长串语言环境,其中 en_GB 就是其中之一。

4

2 回答 2

0

也许en_GB不是您系统上的有效语言环境。试试看en_GB.UTF-8_ en_GB.ISO-8559-1_

于 2015-04-30T13:05:11.067 回答
0

班级不正确,NumberFormatter英镑需要大写,如下所示:'GBP'

尝试这个:

$value = 395;
$currencyFormat = new NumberFormatter('en_GB', NumberFormatter::CURRENCY);

echo $currencyFormat->formatCurrency($value, 'GBP');

这将呈现£395.00

于 2016-10-21T01:20:56.303 回答