number_format

(PHP 4, PHP 5, PHP 7)
Format a number with grouped thousands
string number_format ( float $number [, int $decimals = 0 ] )
string number_format ( float $number , int $decimals = 0 , string $dec_point = "." , string $thousands_sep = "," )

This 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.

Parameters:
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.

Returns:

A formatted version of number.

Changelog:
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.

Examples:
number_format() Example

For instance, French notation usually use two decimals, comma (',') as decimal separator, and space (' ') as thousand separator. This is achieved with this line :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?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
 
?>
See also:

money_format() -

sprintf() -

printf() -

sscanf() -

doc_php
2025-01-10 15:47:30
Comments
Leave a Comment

Please login to continue.