我有一个字符串:
- $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)