+ -
当前位置:首页 → 问答吧 → 这个问题谁能解决?是PHP漏洞?

这个问题谁能解决?是PHP漏洞?

时间:2010-09-16

来源:互联网

<?
$a = 0.01;
for($i=0;$i<99;$i++){
  $a = $a + 0.01;
}
echo $a . "<br>";   //结果应该是1

if($a==1){
    echo "ture";
}else{
  echo "false";
}
?>

结果为什么是false
$a转换哈希编码也是1的值  为什么会出现false???







<?
$a = 0.7;
for($i=0;$i<3;$i++){
  $a = $a +0.1;
}
echo $a . "<br>";   //结果应该是1

if($a==1){
    echo "ture";
}else{
  echo "false";
}
?>

结果是false



<?
$a = 0.8;
for($i=0;$i<2;$i++){
  $a = $a +0.1;
}
echo $a . "<br>";   //结果应该是1

if($a==1){
    echo "ture";
}else{
  echo "false";
}
?>

这个结果才是真的 true




个人感觉是不是PHP中数据类型问题    虽然一个不起眼的问题  但是激发了我的兴趣  !!!大家共同解决下~~~~~加油
[ 此帖被huang2622671在2010-09-16 00:50重新编辑 ]

作者: huang2622671   发布时间: 2010-09-16

貌似很难的问题。沙发自己的

作者: huang2622671   发布时间: 2010-09-16

if   (   intval($a)  == 1 )  

你再看看结果!

作者: lirongguo   发布时间: 2010-09-16

相关阅读 更多