看到一个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/
楼主看这文章吧,
[解决办法]
后面精确位的问题,
接分
[解决办法]
这个真没试过!