Преобразовать строку валюты в число Drupal Views / Stack Overflow

Я передаю поле из базы данных CiviCRM (MySQL) в Drupal View валюты:

€ 350.00

Как я могу получить эту валюту / строку в числовом формате, чтобы выполнить математику на нем?

я пробовал

  • удаление этого поля с дисплея и подача его в глобальное поле математики, чтобы «очистить» его, но оно просто отображается как ноль (это строка, поэтому поле математики не может ее прочитать)

  • подача его в глобальное текстовое поле приводит к тому же выводу, что и выше

  • отключив все форматирование в самом поле и в поле Global Maths, в которое я его вводил, которое выдает ноль, потому что оно все еще не распознается как число

0

Решение

Вам нужно 2 шага:

  1. устанавливать Просмотров PHP (7.x-2.x-dev) — это даст вам глобальный
    PHP-поле в Views
  2. Исключить оригинальное поле (скажем, field_currency), который содержит значение из отображения в представлениях (с помощью галочки), а затем использует значение исключенного поля в дополнительном поле PHP:

    • В коде значения: preg_match("#([0-9\.]+)#", $row->field_currency, $match); return $match[0];
    • В выходной код: <?php echo $value; ?>
0

Другие решения

Вы можете использовать такую ​​функцию:

function extractNumber($str) {
return preg_replace('/[^0-9.]+/i','',$str);
}

echo extractNumber('€ 350.00');

Что приведет к: «350,00», что является числовым. и за «1 350,00 евро» возвращается «1350,00».

0

По вопросам рекламы [email protected]