• 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
    ?>
  • 相关阅读:
    [转] MapReduce详解
    [转] 自然语言处理全家福:纵览当前NLP中的任务、数据、模型与论文
    [转] 一文读懂BERT中的WordPiece
    [转] 文本分类——GLUE数据集介绍
    [转] Transformer详解
    [python] 转json好用的工具mark
    [转] 深度学习中的注意力机制
    [转] Python之time模块的时间戳、时间字符串格式化与转换
    日期相关
    airflow的定时任务
  • 原文地址:https://www.cnblogs.com/ldms/p/8316343.html
Copyright © 2020-2023  润新知