PHP中用于精确计算的bcmath扩展
生活随笔
收集整理的這篇文章主要介紹了
PHP中用于精确计算的bcmath扩展
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.簡介
對于任意精度的數學,PHP提供了支持用字符串表示的任意大小和精度的數字的二進制計算,最多為2147483647-1(或0x7FFFFFFF-1)。本類函數僅在 PHP 編譯時配置了 --enable-bcmath 時可用。PHP 的 Windows 版本已內建對此擴展的支持。不需要載入額外的擴展來使用這些函數。
2.含義
(1)2個任意精度數字的加法計算
$v = bcadd(1.11,2.222,8); var_dump($v); //結果:string(10) "3.33200000"(2)2個任意精度數字的減法計算
$v = bcsub(1.11,2.222,8); var_dump($v); //結果:string(11) "-1.11200000"(3)2個任意精度數字的乘法計算
$v = bcmul(1.11,1.11,6); var_dump($v); //string(8) "1.232100"(4)2個任意精度的數字除法計算
$v = bcdiv(1.11,2.2222,8); var_dump($v); //結果: string(10) "0.49950499"(5)比較兩個任意精度的數字
$v = bccomp(1.11111,1.1112222); var_dump($v); //結果: int(0)(6)任意精度數字的乘方
$v = bcpow(4.2,3,4); var_dump($v); //結果string(7) "74.0880"(7)對一個任意精度數字取模
$v = bcmod(100.24,17,8); var_dump($v); //結果: string(11) "15.24000000"(8)設置所有bc數學函數的默認小數點保留位數
bcscale(8);//在當前域中有作用函數 $v = 3.1415926; var_dump($v); //結果double(3.1415926)(9)返回操作數的二次方根
$v = bcsqrt(2,6); //√3 var_dump($v); //結果 string(8) "1.414213"(10)先次方再取模
$a = bcpowmod(2, 4, 10,2); // 相當于bcmod(bcpow(2,4),10,2) var_dump($a); //結果:string(4) "6.00"使用場景:例如 計算發票稅需要保留8位小數
如果中間加入字符串會出現Fatal error
總結
以上是生活随笔為你收集整理的PHP中用于精确计算的bcmath扩展的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP中trait的特性
- 下一篇: mysql中explain命令