首先要明白,浮点数是不可能精确匹配的。例如我要匹配 for($i=1;$i<=300;$i++)
{
$a += 1/7;
}
if($a == 300/7)
{
print("Same");
}
else
{
print("no ");
}
echo $a;但是,每种语言的精度都是有限的,php也不例外。都会有一个最大精度范围,只要不出php的这个范围就不会出问题。
楼主的例子应该不会出现问题吧,
但是我这个例子就不行了。
除非把300改为3,就可以。
{
$a += 1/7;
}
if($a == 300/7)
{
print("Same");
}
else
{
print("no ");
}
echo $a;但是,每种语言的精度都是有限的,php也不例外。都会有一个最大精度范围,只要不出php的这个范围就不会出问题。
楼主的例子应该不会出现问题吧,
但是我这个例子就不行了。
除非把300改为3,就可以。
我的例子,环境是:PHP4.3.11,WINXP下运行的,返回的是FALSE。
测试很多遍没法子乾地精确比对,所以出错。
希望大家能够帮我解决。
各种语言都是如此。