zoukankan      html  css  js  c++  java
  • 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')." "; // 加 6.88
    echo math_sub('3.445','3.444')." "; // 减 0.00
    echo math_mul('3.445','3.444')." "; // 乘 11.86
    echo math_div('3.445','3.444')." "; // 除 1.00
    echo math_mod('3.445','3.444')." "; // 取模 0
    echo math_comp('3.445','3.444')." ";// 比较 1

    echo math_add('3.445','3.444','3')." "; // 加 6.889
    echo math_sub('3.445','3.444','3')." "; // 减 0.001
    echo math_mul('3.445','3.444','3')." "; // 乘 11.864
    echo math_div('3.445','3.444','3')." "; // 除 1.000
    echo math_mod('3.445','3.444')." "; // 取模 0
    echo math_comp('3.445','3.444')." ";// 比较 1
    ?>
    复制代码
    复制代码

    今天正好要用到bcadd()函数,结果报错,百度下原因是没有安装bcmath扩展。

    那就安装呗,搜了一下,我是yum安装的php7.2,扩展也可以yum来安装

    复制代码
    复制代码
    1.键入命令 (72W就是php版本,不加有一定的几率报错)

    yum install php72w-bcmath

    回车;

    2.ok,安装完毕,重启服务器 Nginx 或者 Apache


    转置 https://www.cnblogs.com/ivy-zheng/p/11236342.html

  • 相关阅读:
    uva 11080(二分图染色)
    poj 3255(次短路)
    uva 707(记忆化搜索)
    uva 436(floyd变形)
    uva 11748(求可达矩阵)
    uva 11573(bfs)
    Codeforces Round #226 (Div. 2) 解题报告
    uva 11354(最小瓶颈路--多组询问 MST+LCA倍增)
    uva 534(最小瓶颈路)
    uva 538(简单图论 入度出度)
  • 原文地址:https://www.cnblogs.com/zlf2000/p/14486139.html
Copyright © 2011-2022 走看看