在php输出时数字时,有时候需要通过千位分组的形式来展示它们,比如一些商品价格的展示或某些应用中更加直观的数字显示等。而 php 给我们提供了一个让数字千位分组的函数 number_format(),我们可以给这个函数的参数进行个性化设置,来达到我们想要的展示效果

php number_format() 函数介绍

定义:

number_format():通过千位分组来格式化数字字符串。

语法:

number_format(number,decimals,decimalpoint,separator)

参数:

number:必需。要格式化的数字。

如果未设置其他参数,则数字会被格式化为不带小数点且以逗号(,)作为千位分隔符。

decimals:可选。规定小数的数量,默认为0个

decimalpoint:可选。规定用作小数点的字符串。

separator:可选。规定用作千位分隔符的字符串。

number_format() 函数使用方法

例:使用  number_format() 函数对商品价格进行格式化

php代码:

<?php
$n = 499995;
echo number_format($n);//直接千位分组,没有小数
echo '<br/>';
echo number_format($n,2);//千位分组,带有小数
?>

运行结果:

499,995
499,995.00

例:number_format() 函数自定义参数设置

php代码:

<?php
$n = 248568.456;
echo number_format($n);//直接千位分组,没有小数
echo '<br/>';
echo number_format($n,2);//千位分组,带有小数
echo '<br/>';
echo number_format($n,2,'.','-');//自定义千位分隔符为”-“
?>

运行结果:

248,568
248,568.46
248-568.46

php number_format() 函数注意事项

使用 number_format() 函数时,要注意几点,否则会出现以下错误

PHP Warning: Wrong parameter count for number_format()

注意事项

1、第一个参数不能使用非数字类型的值

2、number_format() 不能同时使用三个参数,只能使用1,2,4个参数

3、number_format() 截取小数时,会进行四舍五入的操作