Разработчику. Сборник рецептов PHP
Задавайте вопросы

Форматирование чисел

Вернуться назад

Задача

Необходимо напечатать число с разделителями тысяч и десятков тысяч. Например, нужно вывести стоимость покупок в магазинной тележке.

Решение

Функция number_format() позволяет вывести число в формате целого:

$number = 1234.56;
print number_format($number);      // 1,235 поскольку число округлено

Определите число десятичных разрядов для форматирования в виде десятичной дроби:

print number_format($number, 2);      // 1,234.56

Обсуждение

Функция number_format() форматирует число, вставляя необходимые разделители десятков и тысяч в соответствии с локализацией. Если требуется установить эти значения вручную, передайте их как третий и четвертый параметры:

$number = 1234.56;
print number_format($number, 2, '@', '#');      // 1#234@56

Третий аргумент выступает в качестве десятичной точки, а последний отделяет тысячи. Эти два аргумента необходимо указывать вместе.

По умолчанию функция number_format() округляет число до ближайшего целого. Если надо сохранить все число, но заранее неизвестно, сколько разрядов будет после десятичной точки, прибегают к следующему приему:

$number = 1234.56;      // ваше число
list($int, $dec) = explode('.', $number);
print number_format($number, strlen($dec));

Вернуться назад

Рейтинг@Mail.ru

Яндекс.Метрика

Индекс цитирования

Рейтинг Сайтов ДОСКИ.РУ