bcadd

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

<?php
$a = '1.234';
$b = '5';
echo bcadd($a, $b);     // 6
echo bcadd($a, $b, 4);  // 6.2340
?>

bccomp

比较两个任意精度的数字

<?php
echo bccomp('1', '2') . "\n";   // -1
echo bccomp('1.00001', '1', 3); // 0
echo bccomp('1.00001', '1', 5); // 1
?>

bcdiv

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

<?php
echo bcdiv('105', '6.55957', 3);  // 16.007
?>

bcmod

对一个任意精度数字取模

<?php
echo bcmod('4', '2'); // 0
echo bcmod('2', '4'); // 2
?>

bcmul

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

<?php
echo bcmul('1.34747474747', '35', 3); // 47.161
echo bcmul('2', '4'); // 8
?>

bcpow

任意精度数字的乘方

<?php
echo bcpow('4.2', '3', 2); // 74.08
?>

bcpowmod

Raise an arbitrary precision number to another, reduced by a specified modulus

<?php
$a = bcpowmod($x, $y, $mod);
$b = bcmod(bcpow($x, $y), $mod);
// $a and $b are equal to each other.
?>

bcscale

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

<?php
// default scale : 3
bcscale(3);
echo bcdiv('105', '6.55957'); // 16.007
// this is the same without bcscale()
echo bcdiv('105', '6.55957', 3); // 16.007
?>

bcsqrt

任意精度数字的二次方根

<?php
echo bcsqrt('2', 3); // 1.414
?>

bcsub

2个任意精度数字的减法

<?php
$a = '1.234';
$b = '5';
echo bcsub($a, $b);     // -3
echo bcsub($a, $b, 4);  // -3.7660
?>