php字符串转数字类型转换2017-10-11 12:56
今天在写代码的时候,遇到要判断实付款和已收款是否相等的问题,如果不相等则要将已收款进行飘红显示。
刚开始一直测试,明明两个数字不相等,但是偏偏达不到效果。
后来想到是不是类型的问题。
使用gettype一试,果然实付款是string型的,而已收款是double型的。
于是将$pay类型转换
$pay=(float)$pay;
转换之后$pay变为double型,这个时候就可以进行比较了。
$pay="1.11";
$recive=1.11;
if ($pay===$recive) echo '相等
';
echo gettype($pay).' '.gettype($recive);echo '
';
$pay=(float)$pay;
echo gettype($pay).' '.gettype($recive);echo '
';
if ($pay===$recive) echo '相等
';
?>
需要注意的是,比较的时候一定要全等于(===)或全不等(!===),否则将不准确。
在这里,我们用到了php类型检测函数gettype,以及php变量类型转换中的float,当然还有int、string等。