2013-05-13 78 views
8

我们可以使用下面的代码得到$标记和格式的钱。PHP money_format为EURO

setlocale(LC_MONETARY, 'en_US.UTF-8'); 
$amount = money_format('%(#1n', $amount); 

如何从php中获取欧元符号money_format?

+0

只需设置类似'nl_NL'引用实际使用欧元的国家语言环境? – 2013-05-13 10:33:24

+0

选择使用欧元而不是美元可能是一个开始 – 2013-05-13 10:34:08

+1

我认为使用欧元货币地方只会显示,例如,“1,234欧元”区域设置。 – Ryan 2013-05-13 10:34:21

回答

8

我认为这会工作

setlocale(LC_MONETARY, 'nl_NL.UTF-8'); 
$amount = money_format('%(#1n', 20); 
echo $amount; 
+0

但是这段代码并不适合我。因为我没有像nl_NL.UTF-8那样的本地化。谢谢回答。 – 2013-05-15 09:28:55

+0

只需在此粘贴 链接http:// writecodeonline。com/php /并参见 – 2013-05-15 09:33:44

+0

是的,我知道。问题是我的服务器。它没有任何地方命名nll_NL.UTF-8 – 2013-05-15 09:54:21

3

使用此

setlocale(LC_MONETARY, 'nl_NL'); 
$amount = money_format('%(#1n', $amount); 
0

你可以在你的代码中使用HTML实体

"&euro"; 

直接

$amount = money_format('%(#1n', $amount) .htmlentities('€'); 

编辑

或者您可以使用标志%(#!1N” 所以你的代码会看起来像

$amount = money_format('%(#!1n', $amount) .htmlentities('€'); 

你可以看到下面的帖子

希望这将有助于

0

最后一个意大利语区为我工作。

$amount = '1600.00'; 
setlocale(LC_MONETARY, 'it_IT.UTF-8'); 
$amount = money_format('%.2n', $amount); 
echo str_replace('Eu','€',$amount); 
0

一个相当古老的线程,但如果一些谷歌在这里 ,即使工作在本地MAMP

setlocale(LC_MONETARY, 'de_DE'); 
echo money_format('€ %!n', 1.620.56); 

// € 1.620.56 
0

这是一个古老的线程,但我觉得这值得分享相关的解决方案,最多的回答没有按不提供实际的解决方案。我在寻找西班牙语LC_monetary的时候发现了这个,所以如果像我一样,你最终在这里,你知道有一个答案。

我使用下面的包裹在与优点(see example in calculations)的函数的其处理零很好。我在我的计算器中使用这个来实现一个更清晰的会计布局。这个例子是西班牙,但你可以用你喜欢的任何欧元区:

setlocale(LC_MONETARY, "en_ES"); 
function C_S($iv) { 
    if(in_array($iv, array(' ','',0))){return'<i>&euro;</i>0.00';} 
    else{return str_replace('EU','<i>&euro;</i>', money_format("%i", $iv));} 
} 

斜体字是没有必要的,我使用它们与CSS为财务报表的风格定位。再次,这里的信息。

使用:

echo C_S(1234);