zoukankan      html  css  js  c++  java
  • php高精度加减乘除

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

    <?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

  • 相关阅读:
    ORACLE 删除重复的数据
    Linux查看某个文件 单个字符的 个数
    通过虚拟机增加Linux的磁盘(分区容量)
    redheat7 sd 0:0:0:0: [sda] Assuming drive cache: write through(未解决)
    安装数据库Typical path for xclock: /usr/X11R6/bin/xclock 错误问题
    解决Visual Studio 2015启动慢的问题
    使用Discuz!自带参数防御CC攻击以及原理
    mysql 去除特殊字符和前后空白字符
    最新版的Chrome 69.0 设置始终开启flash而不是先询问
    DNS_PROBE_FINISHED_NXDOMAIN 问题解决
  • 原文地址:https://www.cnblogs.com/jenkin1991/p/13711795.html
Copyright © 2011-2022 走看看