如何使用PHP从字符串中获取货币价值

如何使用PHP从字符串中获取货币价值,php,preg-match,money-format,Php,Preg Match,Money Format,有没有一种简单的方法可以使用php从字符串中提取金额 例如,我有1419.99美元 我想得到回报1419.99 另一个例子,我有1321美元 我想把1321弄回来 我知道我可以手动删除$and,但是有没有一种方法可以使用preg_match之类的东西来获取所有数字,如果小数点后有任何东西,也可以获取,然后返回不带数字或美元符号的数字?这似乎是一个简单的解决方案,但出于某种原因,我的头脑并没有完全围绕着这个问题。签出NumberFormatter::parseCurrency 这是它的链接是的,您

有没有一种简单的方法可以使用php从字符串中提取金额

例如,我有1419.99美元

我想得到回报1419.99

另一个例子,我有1321美元

我想把1321弄回来


我知道我可以手动删除$and,但是有没有一种方法可以使用preg_match之类的东西来获取所有数字,如果小数点后有任何东西,也可以获取,然后返回不带数字或美元符号的数字?这似乎是一个简单的解决方案,但出于某种原因,我的头脑并没有完全围绕着这个问题。

签出
NumberFormatter::parseCurrency


这是它的链接

是的,您可以使用分解功能。像

$amount = '$1,419.99';
$money = explode('$', $amount);
echo $money[1];

结果:1419.99

您好如果您想使用正则表达式,可以尝试以下代码

$amount = '$1,419.99';
$amount = preg_replace('/[^.a-zA-Z0-9]/s', '', $amount );
echo $amount;

@John如果PHP的
parseCurrency
能够处理您的用例,这将是一条可行的道路,因为构建一个完整的正则表达式将需要大量的工作。OP希望结果为1419.99(没有千个分隔符)。而不是使用echo str_替换(“,”,“,”,$money[1]);