推 gpmm :好文就是要推! 10/29 22:21
※ 引述《chenlifu (離)》之銘言:
: 比較運算在有小數點的時候
: 不知道該怎麼解決問題
: 目前要把運算結果分開
: ( a / b < 0.05 )
: ( a / b >= 0.05 AND a / b < 0.1)
: ....這類狀況
: 發現當 結果是0.0555的時候
: 會被分類為 <0.05
: 遇到這類運算的時候要怎麼辦?
: gettype檢查過值為double
: 查官網看到有寫用round
: 可是不成功..不太懂那意思
: 可否請教版上大大
: 感恩
剛剛 mosquito520 給了我一個網址:
http://bbs.ecstart.com/thread-33632-1-1.html
上面有提到類似的問題
$a = 0.03 ;
$b = 45 ;
$c = $a * $b ;
if($c==1.35){
echo "變數c等於1.35 </br></br>變數c為 ".$c ;
}
else{
echo "變數c「不」等於1.35 </br></br>變數c為 ".$c ;
}
我試了一下,發現確實會執行『變數c「不」等於1.35』那段,
雖然 $c 真的是 1.35。真是件有趣的事情~
而在該討論串的最後有提到一個 PHP的函式 BCCOMP()
可以用來比較浮點數:http://tw2.php.net/bccomp
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.223.227.170