Sivo 悉见

PHP精确计算

匿名 · 更新于 2020/5/30

/**
 * 精确加法
 * @param [type] $a [description]
 * @param [type] $b [description]
 */
function math_add($a,$b,$scale = '4') {
    return round(bcadd($a,$b,$scale), 2);
}

/**  * 精确减法  * @param [type] $a [description]  * @param [type] $b [description]  */ function math_sub($a,$b,$scale = '4') {     return round(bcsub($a,$b,$scale), 2); }

/**  * 精确乘法  * @param [type] $a [description]  * @param [type] $b [description]  */ function math_mul($a,$b,$scale = '4') {     return round(bcmul($a,$b,$scale), 2); }

/**  * 精确除法  * @param [type] $a [description]  * @param [type] $b [description]  */ function math_div($a,$b,$scale = '4') {     return round(bcdiv($a,$b,$scale), 2); }

/**  * 精确求余/取模  * @param [type] $a [description]  * @param [type] $b [description]  */ function math_mod($a,$b) {     return round(bcmod($a,$b), 2); }

/**  * 比较大小  * @param [type] $a [description]  * @param [type] $b [description]  * 大于 返回 1 等于返回 0 小于返回 -1  */ function math_comp($a,$b,$scale = '5') {     return bccomp($a,$b,$scale); // 比较到小数点位数 }