php BC高精确度函数库

php BC高精确度函数库

  • php BC高精确度函数库
    php bc math 包含了:相加,比较,相除,相减,求余,相乘,n次方,配置默认小数点数目,求平方; 这些函数在涉及到有关金钱的计算时比较有用

两个高精度数比较

  • 工作中遇到一种情况,0.00 != 0
    int bccomp ( string leftoperand,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();  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章