首页 > 解决方案 > 如何从 PHP 中的货币分组格式化字符串中提取数字

问题描述

我有以下分组货币格式的字符串:

$str = "$1,000,000";

我只想提取1000000以进行一些计算。我怎样才能做到这一点?是否有任何内置的 PHP 函数可以这样做?否则我可能需要使用一些正则表达式。

编辑

这不是一个重复的问题,因为这里我们有一个货币分组的格式化字符串,而不是一个简单的简单文本。

标签: phpregex

解决方案


您可以用空字符串替换所有非数字:

$str = "$1,000,000";
print(
  preg_replace('/\D+/', '', $str)
);

当然,“非数字”也包括小数点。如果要保留小数点,请改用否定字符集:

$str = "$1,000,000.00";
print(
  preg_replace('/[^\d.]+/', '', $str)
);

推荐阅读