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

  • 相关阅读:
    QTP模拟鼠标和键盘事件整理
    Linux 入门常用命令 — 改变文件或目录的访问权限
    做一个有品质的男人
    Linux下.tar .gz .tgz .bz2 .bz等解、压包命令详解
    全面整理CentOS系统使用中文
    MSDN宝藏库中,初学者应该看的东西【整理的很辛苦哦】
    IIS 7.5版本中一些诡异问题的解决方案
    老生常谈ASP.NET中的Cookies,罗列读写Cookies的方法
    分享3段平时很实用的微代码,高手莫喷
    SQL 2005中的临时表
  • 原文地址:https://www.cnblogs.com/jenkin1991/p/13711795.html
Copyright © 2011-2022 走看看