PHP中的精确计算bcadd,bcsub,bcmul,bcdiv 及 扩展安装
PHP中的精确计算bcadd,bcsub,bcmul,bcdiv 及 扩展安装
<?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')."\n"; // 加 6.88 echo math_sub('3.445','3.444')."\n"; // 减 0.00 echo math_mul('3.445','3.444')."\n"; // 乘 11.86 echo math_div('3.445','3.444')."\n"; // 除 1.00 echo math_mod('3.445','3.444')."\n"; // 取模 0 echo math_comp('3.445','3.444')."\n";// 比较 1 echo math_add('3.445','3.444','3')."\n"; // 加 6.889 echo math_sub('3.445','3.444','3')."\n"; // 减 0.001 echo math_mul('3.445','3.444','3')."\n"; // 乘 11.864 echo math_div('3.445','3.444','3')."\n"; // 除 1.000 echo math_mod('3.445','3.444')."\n"; // 取模 0 echo math_comp('3.445','3.444')."\n";// 比较 1 ?>