php BC高精確度函數庫

jopen 9年前發布 | 9K 次閱讀 PHP PHP開發

    <?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();  
?>   </pre><br />

來自:http://blog.csdn.net/phpfenghuo/article/details/46369569

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!