用php查找字符串中的浮点数

用php查找字符串中的浮点数,php,regex,string,floating-point,Php,Regex,String,Floating Point,我有这些字符串: $txt1 = "8,742 MW"; $txt2 = "7,750 KW"; $txt2 = "2,350 GW"; 我需要一个正则表达式来找到这些字符串中的有效浮点数。。。我怎么做? 谢谢。要匹配浮点值,请尝试以下regexp: (\d+(?:,\d+)?) 您也可以使用以下方法将其强制转换为浮动: $floatVal = (float) "8,742 MW"; 这一个应该做到: [-+]?([0-9]*\,)?[0-9]+ 或者,如果您想通过逗号“,”作为点“,”

我有这些字符串:

$txt1 = "8,742 MW";
$txt2 = "7,750 KW";
$txt2 = "2,350 GW";
我需要一个正则表达式来找到这些字符串中的有效浮点数。。。我怎么做?
谢谢。

要匹配浮点值,请尝试以下regexp:

(\d+(?:,\d+)?)
您也可以使用以下方法将其强制转换为浮动:

$floatVal = (float) "8,742 MW";

这一个应该做到:

[-+]?([0-9]*\,)?[0-9]+
或者,如果您想通过逗号“,”作为点“,”直接转换为浮点,那么我认为您应该将您的区域设置设置为法语区域设置,如下所述:

if(preg_match((\d+(?:,\d+),$txt1,$matches)){$value=$matches[0];打印“value=$value\n”;}
$floatVal=(float)“8742 MW”//如果您将“,”替换为“,”将起作用
setLocale(LC_ALL, 'fr_BE.UTF-8');