欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

解析PHP中的money_format ()函数

程序员文章站 2022-03-08 09:28:03
...
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 ()函数的详细内容,更多请关注其它相关文章!

相关标签: money_format php