Format a number with grouped thousands

- « nl2br

- ord »

- PHP Manual
- String Functions
- Format a number with grouped thousands

# number_format

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

number_format — Format a number with grouped thousands

### Description

number_format(
float `$num`,
int `$decimals` = 0,
?string `$decimal_separator` = ".",
?string `$thousands_separator` = ","
): string

Formats a number with grouped thousands and optionally decimal digits using the rounding half up rule.

### Parameters

`num`

  The number being formatted.

`decimals`

  Sets the number of decimal digits. If `0`, the `decimal_separator` is omitted from the return value.

`decimal_separator`

  Sets the separator for the decimal point.

`thousands_separator`

  Sets the thousands separator.

### Return Values

A formatted version of `num`.

### Changelog

Version | Description
--- | ---
8.0.0 | Prior to this version, number_format() accepted one, two, or four parameters (but not three).
7.2.0 | number_format() was changed to not being able to return `-0`, previously `-0` could be returned for cases like where `num` would be `-0.01`.

### Examples

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?>

### See Also

- money_format() - Formats a number as a currency string
- sprintf() - Return a formatted string
- printf() - Output a formatted string
- sscanf() - Parses input from a string according to a format