Форматирование денег в PHP: примеры и код

Для форматирования денег в PHP можно использовать различные методы. Вот несколько примеров кода:

Метод 1: Number_format()

Функция Number_format() обычно используется для форматирования чисел, включая денежные значения. Он добавляет запятые в качестве разделителей тысяч и позволяет указывать десятичные разделители и разделители тысяч.

$amount = 1234567.89;
$formatted_amount = number_format($amount, 2, '.', ',');
echo $formatted_amount; // Output: 1,234,567.89

В этом примере функция Number_format() используется для форматирования переменной $amount с двумя десятичными знаками, точкой в ​​качестве десятичного разделителя и запятой в качестве разделителя тысяч.

Метод 2: sprintf()

Функция sprintf() позволяет форматировать строки с помощью заполнителей. Он поддерживает широкий спектр параметров форматирования, включая форматирование денежных значений.

$amount = 1234567.89;
$formatted_amount = sprintf('%.2f', $amount);
echo $formatted_amount; // Output: 1234567.89

Здесь функция sprintf() форматирует переменную $amount с двумя десятичными знаками, используя спецификатор формата «%.2f».

Метод 3: Money_format()

Функция Money_format() специально разработана для форматирования денежных значений. Однако он доступен не во всех системах и требует правильной настройки функции setlocale().

$amount = 1234567.89;
setlocale(LC_MONETARY, 'en_US');
$formatted_amount = money_format('%.2n', $amount);
echo $formatted_amount; // Output: $1,234,567.89

В этом примере функция setlocale() используется для установки локали «en_US» (английский, США). Затем функция Money_format() форматирует переменную $amount с двумя десятичными знаками, используя спецификатор формата “%.2n”.