(PHP 4, PHP 5, PHP 7)
number_format — Format a number with grouped thousands
$number
[, int $decimals
= 0
] ) : string$number
, int $decimals
= 0
, string $dec_point
= "."
, string $thousands_sep
= ","
) : stringThis function accepts either one, two, or four parameters (not three):
If only one parameter is given,
number
will be formatted without decimals,
but with a comma (",") between every group of thousands.
If two parameters are given, number
will
be formatted with decimals
decimals with a
dot (".") in front, and a comma (",") between every group of
thousands.
If all four parameters are given, number
will be formatted with decimals
decimals,
dec_point
instead of a dot (".") before
the decimals and thousands_sep
instead of
a comma (",") between every group of thousands.
number
The number being formatted.
decimals
Sets the number of decimal points.
dec_point
Sets the separator for the decimal point.
thousands_sep
Sets the thousands separator.
A formatted version of number
.
Version | Description |
---|---|
7.2.0 |
number_format() was changed to not being able to return
-0, previously -0 could be returned
for cases like where number would be -0.01.
|
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 ways 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
?>