<?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 ?> |