Я передаю поле из базы данных CiviCRM (MySQL) в Drupal View валюты:
€ 350.00
Как я могу получить эту валюту / строку в числовом формате, чтобы выполнить математику на нем?
я пробовал
удаление этого поля с дисплея и подача его в глобальное поле математики, чтобы «очистить» его, но оно просто отображается как ноль (это строка, поэтому поле математики не может ее прочитать)
подача его в глобальное текстовое поле приводит к тому же выводу, что и выше
отключив все форматирование в самом поле и в поле Global Maths, в которое я его вводил, которое выдает ноль, потому что оно все еще не распознается как число
Вам нужно 2 шага:
Исключить оригинальное поле (скажем, field_currency
), который содержит значение из отображения в представлениях (с помощью галочки), а затем использует значение исключенного поля в дополнительном поле PHP:
preg_match("#([0-9\.]+)#", $row->field_currency, $match); return $match[0];
<?php echo $value; ?>
Вы можете использовать такую функцию:
function extractNumber($str) {
return preg_replace('/[^0-9.]+/i','',$str);
}
echo extractNumber('€ 350.00');
Что приведет к: «350,00», что является числовым. и за «1 350,00 евро» возвращается «1350,00».