欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  神坛PHP

BCMath库来支持更加精确的计算

程序员文章站 2022-02-02 20:27:25
...

// bcscale — 设置所有bc数学函数的默认小数点保留位数

bcscale(3);  // 返回布尔型 true 不指定位数,下面默认为保留小数3位

$a = '6.789';

$b = '1.2345';

 

// bcadd — 2个任意精度数字的加法计算

echo bcadd($a, $b);     // 8.023

echo bcadd($a, $b, 6);  // 8.023500

 

// bcsub — 2个任意精度数字的减法

echo bcsub($a, $b);     // 5.554

echo bcsub($a, $b, 6);  // 5.554500

 

// bcmul — 2个任意精度数字乘法计算

echo bcmul($a, $b);     // 8.381

echo bcmul($a, $b, 6);  // 8.381020

 

// bcdiv — 2个任意精度的数字除法计算

echo bcdiv($a, $b);     // 5.499

echo bcdiv($a, $b, 6);  // 5.499392

 

// bccomp — 比较两个任意精度的数字

echo bccomp('1', '2');   // -1

echo bccomp('1.00001', '1', 3); // 0

echo bccomp('1.00001', '1', 5); // 1

 

// bcmod — 对一个任意精度数字取模 $a%$b

echo bcmod(5, 3);     // 2.000

echo bcmod(3, 5, 6);  // 3.000000

 

// bcpow — 任意精度数字的乘方

echo bcpow(2.11, 3);     // 9.393

echo bcpow(2.11, 3, 6);  // 9.393931

 

// bcsqrt — 任意精度数字的二次方根

echo bcsqrt('27', 4);     // 5.1961;27的二次平方根, 保留4位

 

// bcpowmod 先取模后乘方

echo bcmod(bcpow(2, 3), 3);  // 2.000;2*2*2%3=2

echo bcpowmod(2, 3, 3);     // 2.000


Windows版本的PHP具有对该扩展的内置支持。您无需加载任何其他扩展即可使用这些功能。

 


相关标签: BCMath 计算