我无法弄清楚如何获得货币符号?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 –