使用php - * /計算浮點數的時候,可能會遇到一些計算結果錯誤的問題,如下:
<?php echo intval(0.58 * 100); //输出57 ?>
解決方法
<?php echo bcmul(0.58, 100); //输出58 ?>
推薦:《PHP教學》
● php提供了BC高精確度函數庫處理此問題
● bcadd — 將兩個高精確度數字相加
● bcsub — 將兩個高精度數字相減
● bcmul — 將兩個高精度數字相乘
● bcdiv — 將兩個高精度數字相除
● bccomp — 比較兩個高精準度數字,回傳-1, 0, 1
● bcmod — 求高精準度數位餘數
● bcpow — 求高精準度數位乘方
● bcpowmod — 求高精度數字乘方求模,數論裡非常常用
● bcscale — 設定預設小數點位數,相當於就是Linux bc中的」scale=”
● bcsqrt — 求高精準度數字平方根
以上是PHP浮點精度問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!