用于欧元的PHP money_格式

用于欧元的PHP money_格式,php,money-format,Php,Money Format,我们可以使用下面的代码获取$mark并格式化货币 setlocale(LC_MONETARY, 'en_US.UTF-8'); $amount = money_format('%(#1n', $amount); 如何从php money_格式获取欧元符号 我想这会管用的 setlocale(LC_MONETARY, 'nl_NL.UTF-8'); $amount = money_format('%(#1n', 20); echo $amount; 用这个 setlocale(LC_MONET

我们可以使用下面的代码获取$mark并格式化货币

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

如何从php money_格式获取欧元符号

我想这会管用的

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

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

您可以使用HTML实体

"&euro";
直接在代码中

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

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

$amount = money_format('%(#!1n', $amount) .htmlentities('€');
你可以看到下面的帖子


希望这能对我有所帮助

最终一个意大利地区对我起了作用

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

一个相当老的线程,但如果一些谷歌在这里 这甚至在当地的一个妈妈身上也奏效了

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

// € 1.620.56 

这是一条老线索,但我觉得值得分享一个相关的解决方案,因为上面的答案并不能提供实际的解决方案。我在搜索西班牙信用证货币时发现了这个问题,所以如果你像我一样,最终来到这里,你知道你有答案

我使用了以下封装在函数中的函数,其优点是它可以很好地处理零()。我在计算器中使用它,以获得更流畅的会计布局。这个例子是西班牙,但您可以使用您喜欢的欧元区:

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));} 
} 
输入=>880000

输出=>880.000,00


只需设置一个区域设置,如
nl\u nl
引用实际使用欧元的国家?选择一个使用欧元而不是美元的区域设置可能是一个开始。我相信使用欧元货币区域仅会显示,例如,“1234欧元”。但是这个代码对我不起作用。因为我没有像nl_nl.UTF-8这样的本地代码。谢谢你的回答。是的,我知道。问题是我的服务器。它没有任何名为nl_nl.UTF-8的本地代码。这在我的系统上打印“Eu”而不是“€”。工作正常,我知道线程有点旧,但你能解释一下吗$(#1n大致是?@D.Schalla这些是转换字符。您可以在这里找到示例的描述
echo C_S(1234);
$price = 880000;
echo number_format($price, 2, ',', '.');