number_format

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

number_formatFormat a number with grouped thousands

Опис

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.

Параметри

num

The number being formatted.

decimals

Sets the number of decimal digits. If 0, the decimal_separator is omitted from the return value. As of PHP 8.3.0, when the value is negative, num is rounded to decimals significant digits before the decimal point. Prior to PHP 8.3.0, negative values were ignored and handled the same as 0.

decimal_separator

Sets the separator for the decimal point.

thousands_separator

Sets the thousands separator.

Значення, що повертаються

A formatted version of num.

Журнал змін

Версія Опис
8.3.0 Added handling of negative values for decimals.
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.

Приклади

Приклад #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

?>

Приклад #2 A negative value for decimals

As of PHP 8.3.0, a negative value for decimals is used to round the number of significant digits before the decimal point.

<?php
$number
= "1234.5678";
var_dump(number_format($number, -1));
var_dump(number_format($number, -2));
var_dump(number_format($number, -3));
?>

Поданий вище приклад виведе:

string(5) "1,230"
string(5) "1,200"
string(5) "1,000"

Прогляньте також