为什么我测试$a+$b == 0.8为true呢?
来源:2-3 常量及数据类型考察点
Won1028
2018-01-05
$a = 0.5;
$b = 0.3;
if ($a+$b === 0.8) {
echo $a+$b;
}else{
echo "完蛋";
}
写回答
1回答
-
在一些浮点类型的数据进行二进制转换的时候,然后进行计算,是没有问题的,因为他们可以顺利转换成32位或者64位的二进制数据而没有任何损耗和误差,而0.1这样的浮点数在进行二进制转换时会造成数据的损耗和误差,导致计算误差
132018-01-19
相似问题