number_format
(PHP 4, PHP 5, PHP 7)
number_format — 以千位分隔符方式格式化一个数字
说明
number_format
( float
$number
[, int $decimals
= 0
] ) : string
number_format
( float
$number
, int $decimals
= 0
, string $dec_point
= "."
, string $thousands_sep
= ","
) : string本函数可以接受1个、2个或者4个参数(注意:不能是3个):
如果只提供第一个参数,number
的小数部分会被去掉
并且每个千位分隔符都是英文小写逗号","
如果提供两个参数,number
将保留小数点后的位数到你设定的值,其余同楼上
如果提供了四个参数,number
将保留decimals
个长度的小数部分,
小数点被替换为dec_point
,千位分隔符替换为thousands_sep
参数
-
number
-
你要格式化的数字
-
decimals
-
要保留的小数位数
-
dec_point
-
指定小数点显示的字符
-
thousands_sep
-
指定千位分隔符显示的字符
返回值
格式化以后的 number
.
更新日志
版本 | 说明 |
---|---|
5.4.0 |
This function now supports multiple bytes in
dec_point and
thousands_sep . Only the first byte of each
separator was used in older versions.
|
范例
Example #1 number_format() Example
For instance, French notation usually use two decimals, comma (',') as decimal separator, and space (' ') as thousand separator. The following example demonstrates various way to format a number:
<?php
$number = 1234.56;
// english notation (default)
$english_format_number = number_format($number);
// 1,235
// French notation
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56
$number = 1234.5678;
// english notation without thousands separator
$english_format_number = number_format($number, 2, '.', '');
// 1234.57
?>
更新日志
版本 | 说明 |
---|---|
7.2.0 |
number_format() 现在无法返回 -0,之前可能返回 -0,因为 number 可能会是 -0.01。
|
参见
- money_format() - 将数字格式化成货币字符串
- sprintf() - Return a formatted string
- printf() - 输出格式化字符串
- sscanf() - 根据指定格式解析输入的字符