看到一个PHP题目,很费解不知道原因,求高人
先目测一下输出结果是什么,然后再去实践一下,会很吃惊的。。。求原因。。
<?
$v1 = 60.06;
$v2 = 60.05+0.01;
if ($v1==$v2)
echo "相等";
else
echo "不相等";
if ($v1===$v2)
echo "相等";
else
echo "不相等";
?>
------解决方案--------------------
刚测试了下,都是不相等
如第一个不相等了,第二个更不会相等的。
这个涉及到浮点数的存储,浮点数不是精确存储的
------解决方案--------------------给$v2加上双引号,再比较久可以了
if($v1=="$v2")
------解决方案--------------------楼主注意看本版置顶的帖子.内有常见问题解答
------解决方案--------------------数据类型问题。
------解决方案--------------------这个是浮点数存储的问题,LZ去看看基础编程的浮点数就明白了
------解决方案--------------------http://www.enjoyphp.com/2011/development/php/float-cm/
楼主看这文章吧,
------解决方案--------------------后面精确位的问题,
接分
------解决方案--------------------这个真没试过!