PHP中的精確計算bcadd,bcsub,bcmul,bcdiv 及 擴展安裝



<?php /** * 精確加法 * @param [type] $a [description] * @param [type] $b [description] */ function math_add($a,$b,$scale = '2') { return bcadd($a,$b,$scale); } /** * 精確減法 * @param [type] $a [description] * @param [type] $b [description] */ function math_sub($a,$b,$scale = '2') { return bcsub($a,$b,$scale); } /** * 精確乘法 * @param [type] $a [description] * @param [type] $b [description] */ function math_mul($a,$b,$scale = '2') { return bcmul($a,$b,$scale); } /** * 精確除法 * @param [type] $a [description] * @param [type] $b [description] */ function math_div($a,$b,$scale = '2') { return bcdiv($a,$b,$scale); } /** * 精確求余/取模 * @param [type] $a [description] * @param [type] $b [description] */ function math_mod($a,$b) { return bcmod($a,$b); } /** * 比較大小 * @param [type] $a [description] * @param [type] $b [description] * 大於 返回 1 等於返回 0 小於返回 -1 */ function math_comp($a,$b,$scale = '5') { return bccomp($a,$b,$scale); // 比較到小數點位數 } echo math_add('3.445','3.444')."\n"; // 加 6.88 echo math_sub('3.445','3.444')."\n"; // 減 0.00 echo math_mul('3.445','3.444')."\n"; // 乘 11.86 echo math_div('3.445','3.444')."\n"; // 除 1.00 echo math_mod('3.445','3.444')."\n"; // 取模 0 echo math_comp('3.445','3.444')."\n";// 比較 1 echo math_add('3.445','3.444','3')."\n"; // 加 6.889 echo math_sub('3.445','3.444','3')."\n"; // 減 0.001 echo math_mul('3.445','3.444','3')."\n"; // 乘 11.864 echo math_div('3.445','3.444','3')."\n"; // 除 1.000 echo math_mod('3.445','3.444')."\n"; // 取模 0 echo math_comp('3.445','3.444')."\n";// 比較 1 ?>

 

今天正好要用到bcadd()函數,結果報錯,百度下原因是沒有安裝bcmath擴展。

那就安裝唄,搜了一下,我是yum安裝的php7.2,擴展也可以yum來安裝

1.鍵入命令 (72W就是php版本,不加有一定的幾率報錯)

yum install php72w-bcmath

回車;

2.ok,安裝完畢,重啟服務器 Nginx 或者 Apache

 

原文:https://www.cnblogs.com/jiqing9006/p/5819087.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM