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, 'en_US');
echo money_format('%i', $number) . "/n";
// USD 1,234.56

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

2.负数的使用

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

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

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

<?php
setlocale(LC_MONETARY, 'en_GB');
$fmt = 'The final value is %i (after a 10%% discount)';
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 ()函数的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:money_format php
  • https://www.php.cn/php-weizijiaocheng-475094.html

    最后修改日期: 2021-04-28

    留言

    撰写回覆或留言

    发布留言必须填写的电子邮件地址不会公开。