我在添加浮点数时得到错误的结果,请告诉我你的程序员是如何逃避这个的
代码:
$tot = 0;
$ans = (float)101;
for($i=1; $i<= 10; $i++){
$tot = $tot + 10.1;
}
var_dump($tot);
var_dump($ans);
if($tot == $ans){
echo '<br />Both are equal ';
}
else{
echo '<br />Both are not equal ';
}
结果:
浮动101
浮动101
两者不相等
答案 0 :(得分:1)
此问题继承自C
语言。
比较浮动值时会有一点差异,
试试这个,
if (abs(($tot-$ans)/$tot) < 0.00001) {
echo '<br />Both are equal ';
}
else{
echo '<br />Both are not equal ';
}
答案 1 :(得分:0)
尝试'===' ,'=='比较变量引用,'==='比较值
if($tot === $ans){
echo '<br />Both are equal ';
}
else{
echo '<br />Both are not equal ';
}