最近在處理有關支付的問題時,用到了bcmath 擴展,bccomp 進行兩個數字的比較。如果沒有安裝這個擴展,程序就不會向下執行了。記錄一下。但是爲什麼要用這個擴展,而不使用浮點數進行計算呢?請看下面的例子
$a=0.1;
$b=0.7;
var_dump($a+$b == 0.8);// 結果爲 false
echo floor((0.1+0.7)*10); //結果爲7
還可以再看一下官方文檔的解釋
所以在計算涉及金錢的計算時,不能使用浮點數。
最近在處理有關支付的問題時,用到了bcmath 擴展,bccomp 進行兩個數字的比較。如果沒有安裝這個擴展,程序就不會向下執行了。記錄一下。但是爲什麼要用這個擴展,而不使用浮點數進行計算呢?請看下面的例子
$a=0.1;
$b=0.7;
var_dump($a+$b == 0.8);// 結果爲 false
echo floor((0.1+0.7)*10); //結果爲7
還可以再看一下官方文檔的解釋
所以在計算涉及金錢的計算時,不能使用浮點數。