2015-04-30 131 views
1

我正在使用NumberFormatter :: formatCurrency顯示格式化的貨幣值,像這樣;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是其中之一。

回答

0

也許en_GB在您的系統上不是有效的語言環境。嘗試en_GB.UTF-8en_GB.ISO-8559-1 f.e.

+0

我想這些也沒有任何改善。 – charliefortune

0

NumberFormatter類是不正確的,英鎊需要在資本像這樣:'GBP'

試試這個:

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

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

這將使£395.00