一、类型转换
<?php
// 1. 布尔类型转化为浮点
var_dump(floatval(false)); // float(0)
echo "<br/>";
var_dump(floatval(true)); // float(1)
echo "<br/>";
// 2. 整数转为浮点数
var_dump(floatval(12)); // float(1)
echo "<br/>";
?>
二、浮点值的比较
学习过JavaSript的同学应该都知道 0.3 == 0.2+0.1 的布尔值是false;因为计算机进行二进制运算时转化的0.2+0.1 会出现移位,这样会出现一个很小的误差,所以就导致 0.2+0.1 == 0.3 的值为false。在php中也一样,所以我们进行浮点值的比较时需要进行精度差值比较,如:
<?php
$var_float1 = 0.2+0.1;
$var_float2 = 0.3;
$epsilion = 0.0000001;
// 打印出 0.2+0.1==0.3
if(abs($var_float1-$var_float2)<$epsilion){
echo "0.2+0.1==0.3";
}else{
echo "0.2+0.1!=0.3";
}
?>