首頁 > 後端開發 > PHP問題 > php浮點數float運算中轉整數int問題

php浮點數float運算中轉整數int問題

coldplay.xixi
發布: 2023-03-02 13:32:01
原創
3026 人瀏覽過

php浮點數float運算中轉整數int:php中浮點數是弱型,對於整數或經過運算以後結果是整數的浮點數,php能當作整數對待,程式碼為【intval(round (floatval($value) * 100))】。

php浮點數float運算中轉整數int問題

php浮點數float運算中轉整數int:

執行這段程式碼:

$f = 0.58;
var_dump(intval($f * 100.0));
登入後複製

也許你認為他會輸出58,但是實際上他輸出的是57.
原因是作為浮點型數據,其精度已經損失了一部分,達不到完全精確。所以永遠不要相信浮點數結果精確到了最後一位,也永遠不要比較兩個浮點數是否相等。

php中浮點數是弱型,對於整數或經過運算以後結果是整數的浮點數,php能當作整數對待,但型別還是浮點型不變。但如果經過運算以後不是整數,那php就把結果當作嚴格的浮點數對待了

在實際的開發中我們可以使用如下邏輯來解決這種境況

intval(round(floatval($value) * 100));
登入後複製

相關學習推薦:PHP程式設計從入門到精通

以上是php浮點數float運算中轉整數int問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板