在Php中,如何从混合字符串中获取浮点值?

前端之家收集整理的这篇文章主要介绍了在Php中,如何从混合字符串中获取浮点值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个字符串:
$str = "CASH55.35inMyPocket";

我想只得到55.35.

我试过了:

$str = floatval("CASH55.35inMyPocket");

if( $str>0 ){

    echo "Greater_Zero";


    }else{
        echo "LessZERO!!";
        }
// echo "LessZERO!!";

我也尝试过:

$str = (float)"CASH55.35inMyPocket";

if( $str>0 ){

    echo "Greater_Zero";


    }else{
        echo "LessZERO!!";
        }
// echo "LessZERO!!";

根据文件

Strings will most likely return 0 although this depends on the
leftmost characters of the string.

所以,flotval和(float)显然只有在字符串类似的情况下才有效:
55.35aAbBcCdDeEfF …但如果它是这样的话将不起作用:aAbBcC55.35dDeEfF

有没有办法让浮动无论文本的位置?

如果您不想使用正则表达式,请使用 filter_var
$str = "CASH55.35inMyPocket";
var_dump( (float) filter_var( $str,FILTER_SANITIZE_NUMBER_FLOAT,FILTER_FLAG_ALLOW_FRACTION ) ); // float(55.35)

猜你在找的PHP相关文章