我無法弄清楚如何獲得貨幣符號?PHP money_format(); £英鎊不是英鎊
目前我使用
setlocale(LC_MONETARY, 'en_GB');
money_format('%i', 1000);
這給我的輸出
GBP1,000
但我想
£1,000
我已簽出的PHP手冊,但它不是」這很有幫助。
任何想法?
我無法弄清楚如何獲得貨幣符號?PHP money_format(); £英鎊不是英鎊
目前我使用
setlocale(LC_MONETARY, 'en_GB');
money_format('%i', 1000);
這給我的輸出
GBP1,000
但我想
£1,000
我已簽出的PHP手冊,但它不是」這很有幫助。
任何想法?
你試過嗎?
setlocale(LC_MONETARY, 'en_GB');
utf8_encode(money_format('%n', 1000));
這就近了我想,我現在正在鑽一個?在中間。我有我的字符集utf-8這很奇怪:S –
只是添加utf8_encode(money_format('%n',1000));你會看到符號... :) – SERPRO
啊哈!非常好,謝謝你的幫助:) –
一個簡單的解決方案可能會替換英鎊&磅; (沒有空格)在money_format之後。
在PHP手冊中,他們顯示你可以使用$符號,所以你必須能夠得到英鎊,因爲你可以設置你的位置爲GB –
你嘗試過使用'setlocale(LC_MONETARY,'en_GB.UTF-8');'' 。它被@tim網站上的評論所取代。 – Aidan
使用str_replace()函數是一個選項。
£ - 英鎊 - £
(163)
// Search for the GBP in your string (subject) then replace for the symbol code
$search = "GBP";
$replace = "£";
$subject = "GBP";
echo str_replace($search, $replace, $subject);
這是使用'money_format'的錯誤方法。 – rickyduck
這僅適用於在HTML頁面上顯示它 –
這爲我工作:
setlocale(LC_MONETARY, 'en_GB.UTF-8');
money_format('%n', 1000);
它類似於選擇的解決方案,但是它並沒有爲我工作。爲什麼?其原因是該區域en_GB
在我的系統中沒有定義,只有en_GB.UTF-8
:
$ locale -a | grep "en_GB"
en_GB.utf8
此外,通過直接使用UTF-8字符集,以utf8_encode
額外的呼叫可以被保存。
比選定的答案更靈活,因爲如果使用不同的地點,這將停止重寫函數的需要。 – rickyduck
以上都不適合我。他們在£
標誌前打印'A
'。相反,建立在艾丹和Diegos soloutions我有以下幾點:
setlocale(LC_MONETARY, 'en_GB.UTF-8');
echo (money_format('%n', $bagel->Price));
下面是那些你和我一樣,誰認爲PHP的money_format是可怕的解決方案。
return '£' . number_format((float) $amount, 2, '.', ',');
也許這將幫助:http://stackoverflow.com/questions/6060008/money-format-showing – Tim
@Tim這只是告訴你把£而不是£但實際上,我可以得到£顯示。它只是顯示英鎊的地方。謝謝雖然:) –
我的機器甚至不打印'英鎊'。 :o –