欢迎光临
我们一直在努力

php BC高精确度函数库

有时,我们数据计算,需要很精确,比如银行业务,这就需要在计算方式上进行优化,下面是php BC高精确度函数库

<?php    
 ***************************************************************************************  
 *php BC高精确度函数库  
 *php bc math 包含了:相加,比较,相除,相减,求余,相乘,n次方,配置默认小数点数目,求平方  
 *这些函数在涉及到有关金钱的计算时比较有用  
 ****************************************************************************************  
  
  
 ***************************************************************************************  
 *两个高精度数比较  
 *工作中遇到一种情况,0.00 != 0  
 *int bccomp ( string $left_operand , string $right_operand [, int $scale ] )  
 *$left=$right 返回 0  
 *$left<$right 返回 -1  
 *$left>$right 返回 1  
 *$scale 小数点位数  
 ***************************************************************************************  
$a = 4.45;  
$b = 5.54;  
if(bccomp($a, $b, 2) == 0)  
{  
      
}  
  
 ***************************************************************************************  
 *两个高精度数相加  
 *string bcadd ( string $left_operand , string $right_operand [, int $scale ] )  
 *$scale 返回的小数点个数  
 ***************************************************************************************  
$a = 1.0321456;  
$b = 0.0123456;  
$c = bcadd($a, $b, 2);  
//var_dump($c);  
  
 ***************************************************************************************  
 *两个高精度数相减  
 *sstring bcsub ( string $left_operand , string $right_operand [, int $scale ] )  
 *$scale 返回的小数点个数  
 ***************************************************************************************  
$a = 1.0321456;  
$b = 3.0123456;  
$c = bcsub($a, $b, 2);  
var_dump($c);  
  
  
  
 ********************************************************  
 *两个高精度数求余/取模  
 *string bcmod ( string $left_operand , string $modulus )  
  *******************************************************  
$a = 6;  
$b = 4;  
$c = bcmod($a, $b);  
  
//var_dump($c);  
  
 ***************************************************************************************  
 *两个高精度数相除  
 *string bcdiv ( string $left_operand , string $right_operand [, int $scale ] )  
 *$scale小数点位数默认为 0  
 ***************************************************************************************  
 $a = 6;  
 $b = 5;  
 $c = bcdiv($a, $b, 3);  
 //var_dump($c);  
  
 ***************************************************************************************  
 *两个高精度数相乘  
 *string bcmul ( string $left_operand , string $right_operand [, int $scale ] )  
 *$scale小数点位数默认为 0  
 ***************************************************************************************  
$a = 3.1415926;  
$b = 2.4569874566;  
$c = bcmul($a, $b, 6);  
//var_dump($c);  
  
 ***************************************************************************************  
 *两个高精度数的次方值  
 *string bcpow ( string $left_operand , string $right_operand [, int $scale ] )  
 *$scale小数点位数默认为 0  
 ***************************************************************************************  
$a = 3.1415926;  
$b = 2;  
$c = bcpow($a, $b, 3);  
//var_dump($c);  
  
 **************************************************  
 *求高精度数的平方根  
 *string bcsqrt ( string $operand [, int $scale ] )  
 *$scale小数点位数默认为 0  
 ***************************************************  
$b = bcsqrt($a, 6);  
//var_dump($b);  
  
 ******************************  
 *设置bc函数的小数点位数  
 *bool bcscale ( int $scale )  
 *$scale小数点位数默认为 0  
 ******************************  
//bcscale();  
?>

 

赞(0)
版权归原作者所有,如有侵权请告知。达维营-前端网 » php BC高精确度函数库

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址