<?php echo intval(0.58 * 100); //輸出57 ?>
解決辦法
<?php echo bcmul(0.58, 100); //輸出58 ?>
● php提供了BC高精確度函數庫處理此問題
● bcadd — 將兩個高精度數位相加
● bcsub — 將兩個高精度數位相減
● bcmul — 將兩個高精度數位相乘
● bcdiv — 將兩個高精度數位相除
● bccomp — 比較兩個高精度數位,返回-1, 0, 1
● bcmod — 求高精度數位餘數
● bcpow — 求高精度數位乘方
● bcpowmod — 求高精度數位乘方求模,數論裡非常常用
● bcscale — 設定預設小數點位數,相當於就是Linux bc中的」scale=」
● bcsqrt — 求高精度數位平方根
以上就是PHP浮點精度問題的詳細內容,更多請關注TW511.COM其它相關文章!