解析PHP中的money_format ()函数

php中,我们经常需要将数字格式化成货币字符串,这时就需要使用php的内置函数money_format()函数,本文就带大家一起来看一看这个函数。首先我们来看一看这个函数的语法:

money_format ( string $format , float $number )
  • $format:规定要格式化的字符串及如何格式化字符串中的变量。单个 % 字符可选的标记(flags)可选的字段宽度可选的,左侧精度可选的,右侧精度必选的,单个转化字符。

  • $number:需要格式化的数字。

  • 返回值:返回格式化后的字符。格式字符串前后的字符将原封不动返回。 传入的 number 如果不是数字,将返回 null 并且产生 E_WARNING。

注意:money_format()函数 此函数包装了 C 函数库中的 strfmon(),只被定义在运行该函数系统具有strfmon功能的时候才可使用,而Windows系统没有,所有money_format()Windows中未定义,导致提示未定义错误。或者你所使用的php版本低于4.3

1.正数的使用

<?php
$number = 1234.56;
// 打印 en_US locale 的国际化格式
setlocale(LC_MONETARY, &#39;en_US&#39;);
echo money_format(&#39;%i&#39;, $number) . "\n";
// USD 1,234.56

// 打印意大利国家的格式,带两位浮点小数`
setlocale(LC_MONETARY, &#39;it_IT&#39;);
echo money_format(&#39;%.2n&#39;, $number) . "\n";
// Eu 1.234,56
?>

2.负数的使用

<?php
$number = -1234.5672;
// 美国国家的格式,使用圆括号 () 标记负数。
// 左侧精度使用十位
setlocale(LC_MONETARY, &#39;en_US&#39;);
echo money_format(&#39;%(#10n&#39;, $number) . "\n";
// ($        1,234.57)

// 相似的格式,添加了右侧两位小数点的精度,同时用 * 来填充
echo money_format(&#39;%=*(#10.2n&#39;, $number) . "\n";
// ($********1,234.57)

3.格式字符串前后,添加一些简介

<?php
setlocale(LC_MONETARY, &#39;en_GB&#39;);
$fmt = &#39;The final value is %i (after a 10%% discount)&#39;;
echo money_format($fmt, 1234.56) . "\n";
// The final value is  GBP 1,234.56 (after a 10% discount)

推荐:2021年PHP面试题大汇总(收藏)》《php视频教程

以上就是解析PHP中的money_format ()函数的详细内容,更多请关注其它相关文章!