PHP浮點數是否有小數了,我們要轉換整理可能會丟失小數位數據了,下面我來給大家介紹PHP浮點數轉換整型的一些事項,有興趣的同學可進入參考.
先我們來做個實驗說明問題的存在,代碼如下:
$f = 0.58;
var_dump(intval($f * 100.0));
也許你認為他會輸出58,但是實際上他輸出的是57.原因是作為浮點型數據,其精度已經損失了一部分,達不到完全精確,所以永遠不要相信浮點數結果精確到了最后一位,也永遠不要比較兩個浮點數是否相等.
在實際的開發中我們可以使用如下邏輯來解決這種境況,代碼如下:
intval(round(floatval($value) * 100));
round也可以使用ceil目的就是將精度調準.