13

我们可以使用以下代码获取 $ 标记和格式化货币。

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

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

4

7 回答 7

14

我认为这会奏效

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

警告 :-

自 PHP 7.4.0 起,该函数已被弃用,自 PHP 8.0.0 起已移除。强烈建议不要依赖此功能。

于 2013-05-13T10:36:19.513 回答
3

用这个

setlocale(LC_MONETARY, 'nl_NL');
$amount = money_format('%(#1n', $amount);
于 2013-05-13T10:38:09.757 回答
2

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

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

// € 1.620.56 
于 2017-02-28T20:34:29.643 回答
2
$price = 880000;
echo number_format($price, 2, ',', '.');

输入 => 880000

输出 => 880.000,00

于 2019-10-23T08:24:03.797 回答
0

最后一个意大利语言环境为我工作。

$amount = '1600.00';
setlocale(LC_MONETARY, 'it_IT.UTF-8');
$amount = money_format('%.2n', $amount);
echo str_replace('Eu','€',$amount);
于 2014-06-24T11:49:49.900 回答
0

您可以使用 HTML 实体

"&euro";

直接在您的代码中

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

编辑

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

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

你可以看下面的帖子

希望这会有所帮助

于 2013-05-13T10:41:18.410 回答
0

这是一个旧线程,但我觉得值得分享一个相关的解决方案,因为最佳答案并没有提供实际的解决方案。我在搜索西班牙语 LC_monetary 时发现了这个,所以如果你像我一样来到这里,你就会知道答案。

我使用以下包装在一个函数中,其优点是它可以很好地处理零(参见计算中的示例)。我在我的计算器中使用它来进行更流畅的会计布局。此示例是西班牙,但您可以使用您喜欢的任何欧元区:

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);
于 2017-10-04T13:28:25.353 回答