number_format

(PHP 4, PHP 5, PHP 7, PHP 8)

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.

范例

示例 #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($number2','' ');
// 1 234,56

$number 1234.5678;

// english notation without thousands separator
$english_format_number number_format($number2'.''');
// 1234.57

?>

更新日志

版本 说明
7.2.0 number_format() 现在无法返回 -0,之前可能返回 -0,因为 number 可能会是 -0.01

参见