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

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

Решение
Функция 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));

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела PHP на эту тему:
Взятие логарифмов
Вычисление степеней
Вычисление тригонометрических функций
Вычисления с не десятичными числами
Генерация случайных чисел в пределах диапазона

Вернуться в раздел: PHP / 2. Числа