将货币字符串转换为数字 Drupal Views / PHP
Posted
技术标签:
【中文标题】将货币字符串转换为数字 Drupal Views / PHP【英文标题】:Convert a currency string to a number Drupal Views / PHP 【发布时间】:2015-03-04 09:50:13 【问题描述】:我将 CiviCRM (mysql) 数据库中的一个字段输入到货币的 Drupal 视图中:
€ 350.00
如何将此货币/字符串转换为数字格式以对其进行数学运算?
我试过了
从显示中删除该字段并将其输入全局数学字段以“清理”它,但它只是显示为零(它是一个字符串,因此数学字段无法读取它)
将其输入全局文本字段会产生与上述相同的输出
关闭字段本身和我输入的全局数学字段中的所有格式,输出为零,因为它仍然未被识别为数字
【问题讨论】:
删除不必要的文本有助于读者,使问题清晰,分组尝试 【参考方案1】:您需要两个步骤:
-
安装Views php (7.x-2.x-dev) - 这会给你一个全球
视图中的 PHP 字段
排除在视图中显示值的原始字段(例如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”。
【讨论】:
以上是关于将货币字符串转换为数字 Drupal Views / PHP的主要内容,如果未能解决你的问题,请参考以下文章