number_format

(PHP 4, PHP 5, PHP 7)

number_formatФорматирует число с разделением групп

Описание

number_format ( float $number [, int $decimals = 0 ] ) : string
number_format ( float $number , int $decimals = 0 , string $dec_point = "." , string $thousands_sep = "," ) : string

Функция принимает один, два или четыре аргумента (не три):

Если передан только один аргумент, number будет отформатирован без дробной части, но с запятой (",") между каждыми тремя цифрами.

Если переданы два аргумента, number будет отформатирован с decimals знаками после точки (".") и с запятой (",") между каждыми тремя цифрами.

Если переданы все четыре аргумента, number будет отформатирован с decimals знаками после точки и с разделителем между каждыми тремя цифрами, при этом в качестве десятичной точки будет использован dec_point, а в качестве разделителя групп - thousands_sep.

Список параметров

number

Форматируемое число.

decimals

Устанавливает число знаков после запятой.

dec_point

Устанавливает разделитель дробной части.

thousands_sep

Устанавливает разделитель тысяч.

Возвращаемые значения

Отформатированное число number.

Список изменений

Версия Описание
7.2.0 number_format() была изменена, чтобы не возвращать -0, ранее -0 могло быть возвращено в случаях, когда number был -0.01.
5.4.0 Функция поддерживает многобайтовую строку в качестве параметров dec_point и thousands_sep. В предыдущих версиях в качестве разделителя использовался только первый байт из каждого параметра.

Примеры

Пример #1 Пример использования number_format()

Во Франции обычно используются 2 знака после запятой (','), и пробел (' ') в качестве разделителя групп. Этот пример демонстрирует различные способы форматирования чисел:

<?php

$number 
1234.56;

// английский формат (по умолчанию)
$english_format_number number_format($number);
// 1,235

// французский формат
$nombre_format_francais number_format($number2','' ');
// 1 234,56

$number 1234.5678;

// английский формат без разделителей групп
$english_format_number number_format($number2'.''');
// 1234.57

?>

Смотрите также

  • money_format() - Форматирует число как денежную величину
  • sprintf() - Возвращает отформатированную строку
  • printf() - Выводит отформатированную строку
  • sscanf() - Разбирает строку в соответствии с заданным форматом