问题描述
|
这个问题已经在这里有了答案:
解决方法
鉴于您正在使用货币,并且该数字可能包含逗号或小数点,因此应改用以下方式:
preg_match(\'/([0-9\\.,]+)/\',$input,$matches);
// Output the amount.
echo $matches[1];
, $result = preg_replace(\'/[^0-9\\.,]/\',\'\',$input);
HTH。
编辑以接受逗号和句点。
, preg_match对此非常适合。
preg_match(\"/^([0-9]*) *$/\",$inputStr,$results);
echo $results[1];
另外,此在线正则表达式测试器是测试其他正则表达式模式的好地方。
, 如果是整数,则尝试使用(int) $input
, 好吧,我不知道您的目的,但是如果数字始终在字符串的开头,则可以使用强制转换。
$int = (int)\"34 Canadian Dollars\";
要么
$string = \"34 Canadian Dollars\";
$number = (int)$string
希望能有所帮助。其他答案中的preg_replace也可以完成这项工作。