【问题标题】:Convert a currency string to a number Drupal Views / PHP将货币字符串转换为数字 Drupal Views / PHP
【发布时间】:2015-03-04 09:50:13
【问题描述】:

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

€ 350.00

如何将此货币/字符串转换为数字格式以对其进行数学运算?

我试过了

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

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

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

【问题讨论】:

  • 删除不必要的文本有助于读者,使问题清晰,分组尝试

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


【解决方案1】:

您需要两个步骤:

  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; ?>

【讨论】:

    【解决方案2】:

    你可以使用这样的函数:

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

    这将导致:'350.00' 这是数字。对于“€ 1,350.00”,它将返回“1350.00”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多