从PHP中的字符串返回数值

时间:2014-02-18 13:19:16

标签: php regex string

如何从字符串中获取数值? 在我的情况下,字符串是R1350.00

预期产出:

1350

我尝试了以下内容:

$result = preg_replace("/[^a-zA-Z0-9]+/", "", 'R1350.00'); 

但我也想删除最后两个字符串00。它是ZAR中的金额值。我必须将整数值存储在我的数据库中。

5 个答案:

答案 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;