我有以下分组货币格式的字符串:
$str = "$1,000,000";
我只想提取1000000
以便进行一些计算。我该如何实现?有内置的PHP函数可以这样做吗?否则,我可能需要使用一些RegExp。
编辑
这不是duplicate question,因为这里我们使用货币分组格式的字符串,而不是简单明了的简单文本。
答案 0 :(得分:4)
您可以用空字符串替换所有非数字:
$str = "$1,000,000";
print(
preg_replace('/\D+/', '', $str)
);
当然,“非数字”也包括小数点。如果要保留小数点,请改用否定的字符集:
$str = "$1,000,000.00";
print(
preg_replace('/[^\d.]+/', '', $str)
);
答案 1 :(得分:1)
这里是一种str_replace
的方式,假设您的数字仅包含 $ 和, (或。)。您包括小数)
$toBeRemoved = array('$', ',');
$str = '$1,000,000';
$cleaned = floatval(str_replace($toBeRemoved, "", $str));
echo $cleaned;