網頁

2013年3月15日

[php] 解決數字過長計算過程中變成科學符號

計算較長的數字時(一般為12位元以上),超過上限位元數值時,
系統會轉換成科學符號表示,科學符號由系統運算並不會造成問題,
但使用者會有解讀上的困難,所以必須以一般數值方式呈現。
解決方式,即是計算過程(加、減、乘、除)都必須使用BC高精準度函式計算,
中間若穿插一般計算方式,即有可能又會變成科學符號。


BC高精準度函式庫
bcadd   — 將二個高精準度數字相加
bccomp  — 比較二個高精準度數字
bcdiv   — 將二個高精準度數字相除
bcmod   — 取得高精準度數字的餘數
bcmul   — 將二個高精準度數字相乘
bcpow   — 求高精準度數字的次方值
bcscale — 設定小數點位數
bcsqrt  — 取得高精準度數字的平方根
bcsub   — 將二個高精準度數字相減

註:上限位元數與作業系統位元有關,64bit的作業系統,上限為14位元。