Я пытаюсь отформатировать итоги выручки как полученные из базы данных, и используя класс NumberFormatter в php, с помощью метода formatCurrency.
Тем не менее, я не хочу распечатывать фактический символ евро / евро с этим. Я просто хочу простое число с запятыми и десятичными точками.
Пример;
1234,56 должен быть отформатирован как 1234,56
Текущий объем производства дает € 1 234,56.
Код, который я использую:
$array['total_revenue'] = $this
->db
->query($sql)
->row_array()['SUM( booking_total )'];
$formatter = new NumberFormatter('en_GB', NumberFormatter::CURRENCY);
echo $formatter->formatCurrency($array['total_revenue'], 'EUR') . PHP_EOL;
Кто-нибудь есть какие-либо идеи о том, как я могу исправить это, чтобы удалить символ евро?
Простое регулярное выражение — это быстрое решение вашей проблемы. Пытаться;
$actual = $formatter->formatCurrency($array['total_revenue'], 'EUR') . PHP_EOL;
$output = preg_replace( '/[^0-9,"."]/', '', $actual );
echo $output;
Надеюсь это поможет
Вы можете использовать substr()
метод, хотя я не уверен, что это будет правильный способ сделать это. Как показано ниже:
echo substr($formatter->formatCurrency($array['total_revenue'], 'EUR'), 1) . PHP_EOL;
Вы должны использовать setSymbol()
функция:
$formatter = new NumberFormatter('en_GB', NumberFormatter::CURRENCY);
$formatter->setSymbol(NumberFormatter::CURRENCY_SYMBOL, '');
echo $formatter->formatCurrency($array['total_revenue'], 'EUR') . PHP_EOL;