如何从字符串中获取数值?
在我的情况下,字符串是R1350.00
和
预期产出:
1350
我尝试了以下内容:
$result = preg_replace("/[^a-zA-Z0-9]+/", "", 'R1350.00');
但我也想删除最后两个字符串00
。它是ZAR中的金额值。我必须将整数值存储在我的数据库中。
答案 0 :(得分:1)
试试这个:
<?php
$string = "R1350.00";
preg_match("/(\d+\.\d{1,2})/",$string , $number);
echo $number[0];
?>
如果您要删除.00
,请使用此
preg_match("/(\d+)/",$string , $number);
答案 1 :(得分:1)
您可以使用str_replace
功能,然后使用number_format
$str = 'R1350.00';
$str = str_replace('R',''.$str);
$str = number_format($str,0,'','');
echo $str;
//output 1350
答案 2 :(得分:1)
尝试这个
$str="R1350.00";
$val=explode(".",$str);
echo substr($val[0],1);
//output 1350
答案 3 :(得分:1)
如果它始终是那种格式和长度,你可以这样使用substr()
:
$result = substr("R1350.00", 1, -3); // Output: 1350
编辑:如果第一个字符总是R(或字母,而不是)并且总是不需要小数位,那么您也可以在小数点上使用explode()
并应用substr()
再次。像这样:
$arrResult = explode(".", $result);
$strResult = substr($arrResult[0], 1); // Output: 1350
答案 4 :(得分:0)
这是实现这一目标的简单方法。首先,替换任何不是数字或点的东西。这将使您的字符串保留为1350.00
。然后,只需在数字上加零,使其成为整数 - 有效地删除小数点和尾随零。
<?php
$result = preg_replace('/[^0-9.]/', '', 'R1350.00') + 0;
print $result;