number_format

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

number_formatFormat 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