zoukankan      html  css  js  c++  java
  • php的精确计算

     

    引言:一定要确保数据的准确性。这是一个好的程序员的基本素养。

    <?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
    ?>
  • 相关阅读:
    【Node】fs
    ☀【滚动条】动画,固定
    洛谷——P3817 小A的糖果
    洛谷——P1316 丢瓶盖
    洛谷—— P1190 接水问题
    CODEVS——T1332 上白泽慧音 || 洛谷——P1726 上白泽慧音
    CODEVS——T3008 加工生产调度
    python(20)- 列表生成式和生成器表达式练习Ⅱ
    MTK Android 编译命令
    第六届深圳国际物联网和智慧中国博览会(2014)总结
  • 原文地址:https://www.cnblogs.com/ldms/p/8316343.html
Copyright © 2011-2022 走看看