當前位置:首頁 > PHP教程 > php函數 > 列表

PHP高精確度運算BC函數庫實例詳解

發布:smiling 來源: PHP粉絲網  添加日期:2018-08-31 10:19:38 瀏覽: 評論:0 
  1. <?php 
  2.  /*************************************************************************************** 
  3.  *php BC高精確度函數庫 
  4.  *php bc math 包含了:相加,比較,相除,相減,求余,相乘,n次方,配置默認小數點數目,求平方 
  5.  *這些函數在涉及到有關金錢的計算時比較有用 
  6.  *************************************************************************************** 
  7.  *兩個高精度數比較 
  8.  *工作中遇到一種情況,0.00 != 0 
  9.  *int bccomp ( string $left_operand , string $right_operand [, int $scale ] ) 
  10.  *$left=$right 返回 0 
  11.  *$left<$right 返回 -1 
  12.  *$left>$right 返回 1 
  13.  *$scale 小數點位數 
  14.  ***************************************************************************************/ 
  15. $a = 4.45; 
  16. $b = 5.54; 
  17. if(bccomp($a$b, 2) == 0) 
  18. /*************************************************************************************** 
  19.  *兩個高精度數相加 
  20.  *string bcadd ( string $left_operand , string $right_operand [, int $scale ] ) 
  21.  *$scale 返回的小數點個數 
  22.  ***************************************************************************************/ 
  23. $a = 1.0321456; 
  24. $b = 0.0123456; 
  25. $c = bcadd($a$b, 2); 
  26. //var_dump($c); 
  27. /*************************************************************************************** 
  28.  *兩個高精度數相減 
  29.  *sstring bcsub ( string $left_operand , string $right_operand [, int $scale ] ) 
  30.  *$scale 返回的小數點個數 
  31.  ***************************************************************************************/ 
  32. $a = 1.0321456; 
  33. $b = 3.0123456; 
  34. $c = bcsub($a$b, 2); 
  35. var_dump($c); 
  36. /******************************************************** 
  37.  *兩個高精度數求余/取模 
  38.  *string bcmod ( string $left_operand , string $modulus ) 
  39.  *******************************************************/ 
  40. $a = 6; 
  41. $b = 4; 
  42. $c = bcmod($a$b); 
  43. //var_dump($c); 
  44. /*************************************************************************************** 
  45.  *兩個高精度數相除 
  46.  *string bcdiv ( string $left_operand , string $right_operand [, int $scale ] ) 
  47.  *$scale小數點位數默認為 0 
  48.  ***************************************************************************************/ 
  49.  $a = 6; 
  50.  $b = 5; 
  51.  $c = bcdiv($a$b, 3); 
  52.  //var_dump($c); 
  53. /*************************************************************************************** 
  54.  *兩個高精度數相乘 
  55.  *string bcmul ( string $left_operand , string $right_operand [, int $scale ] ) 
  56.  *$scale小數點位數默認為 0 
  57.  ***************************************************************************************/ 
  58. $a = 3.1415926; 
  59. $b = 2.4569874566; 
  60. $c = bcmul($a$b, 6); 
  61. //var_dump($c); 
  62. /*************************************************************************************** 
  63.  *兩個高精度數的次方值 
  64.  *string bcpow ( string $left_operand , string $right_operand [, int $scale ] ) 
  65.  *$scale小數點位數默認為 0 
  66.  ***************************************************************************************/ 
  67. $a = 3.1415926; 
  68. $b = 2; 
  69. $c = bcpow($a$b, 3); 
  70. //var_dump($c); 
  71. /************************************************** 
  72.  *求高精度數的平方根 
  73.  *string bcsqrt ( string $operand [, int $scale ] ) 
  74.  *$scale小數點位數默認為 0 
  75.  ***************************************************/ 
  76. $b = bcsqrt($a, 6); 
  77. //var_dump($b); 
  78. /****************************** 
  79.  *設置bc函數的小數點位數 
  80.  *bool bcscale ( int $scale ) 
  81.  *$scale小數點位數默認為 0 
  82.  ******************************/ 
  83. //bcscale(); 
  84. ?> 

Tags: 精確度 函數 實例

分享到:

广西快3最大遗漏值统计表