将货币字符串转换为数字Drupal Views / PHP

时间:2015-03-04 09:50:14

标签: php drupal drupal-7 views drupal-views

我正在将CiviCRM(MySQL)数据库中的字段输入到货币的Drupal视图中:

€ 350.00

如何将此货币/字符串转换为数字格式才能对其执行数学处理?

我试过

  • 从显示中删除该字段并将其输入全局数学字段以“清理”它但它只显示为零(它是一个字符串,因此数学字段无法读取它)

  • 将其输入全局文本字段会产生与上面相同的输出

  • 关闭字段本身和全局数学字段中的所有格式,我将其输入,输出零,因为它仍然未被识别为数字

2 个答案:

答案 0 :(得分:0)

你可以使用这样的函数:

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

echo extractNumber('€ 350.00');

这将导致:' 350.00'这是数字。而对于< 1,350.00'它将返回' 1350.00'。

答案 1 :(得分:0)

您需要两个步骤:

  1. 安装Views PHP(7.x-2.x-dev) - 这将为您提供全局 视图中的PHP字段
  2. 排除原始字段(例如field_currency),该字段保存视图中显示的值(使用复选框),然后在其他PHP字段中使用排除字段的值:

    • 在价值代码中:preg_match("#([0-9\.]+)#", $row->field_currency, $match); return $match[0];
    • 在输出代码中:<?php echo $value; ?>