文档地址:https://www.php.net/manual/zh/book.bc.php
bcadd — 2个任意精度数字的加法计算
bccomp — 比较两个任意精度的数字
bcdiv — 2个任意精度的数字除法计算
bcmod — 对一个任意精度数字取模
bcmul — 2个任意精度数字乘法计算
bcpow — 任意精度数字的乘方
bcpowmod — Raise an arbitrary precision number to another, reduced by a specified modulus
bcscale — 设置所有bc数学函数的默认小数点保留位数
bcsqrt — 任意精度数字的二次方根
bcsub — 2个任意精度数字的减法
demo:
<?php
//加
echo bcadd('1.234', 5, 2).'<hr/>'; //6.23
//减
echo bcsub('1.234', 5, 4).'<hr/>'; //-3.7660
//乘
echo bcmul('1.34747474747', '35', 3).'<hr/>'; //47.161
//除
echo bcdiv('105', '6.55957', 3).'<hr/>'; //16.007
//乘方
echo bcpow('4.2', '3', 2).'<hr/>'; //74.08
//比较
//$left = $right, 0
//$left > $right, 1
//$left < $right, -1
echo bccomp('1', '2').'<hr/>'; // -1
echo bccomp('1.00001', '1', 3).'<hr/>'; // 0
echo bccomp('1.00001', '1', 5).'<hr/>'; // 1
//取模
echo bcmod('7', '5').'<hr/>'; //2
//设置所有bc数学函数的默认小数点保留位数
//成功 return true
//失败 return false
bcscale(3);
echo bcadd('1.234567', 5).'<hr/>'; //6.234
//操作数的二次方跟
echo bcsqrt('2', 3).'<hr/>'; //1.414
以下5个函数都为3个入参($left
, $right
,$scale
)
左操作数 对右操作数【加减乘除乘方】, $scale为精确度
//加
bcadd ( string $left_operand , string $right_operand [, int $scale ] ) : string
//减
bcsub ( string $left_operand , string $right_operand [, int $scale = int ] ) : string
//乘
bcmul ( string $left_operand , string $right_operand [, int $scale = int ] ) : string
//除
bcdiv ( string $left_operand , string $right_operand [, int $scale = int ] ) : string
//乘方
bcpow ( string $left_operand , string $right_operand [, int $scale ] ) : string
以下函数可参照demo单独记忆
//把right_operand和left_operand作比较, 并且返回一个整数的结果
bccomp ( string $left_operand , string $right_operand [, int $scale = int ] ) : int
//设置所有bc数学函数的默认小数点保留位数
bcscale ( int $scale ) : bool
//对左操作数使用系数取模
bcmod ( string $left_operand , string $modulus ) : string
//返回操作数的二次方根.
bcsqrt ( string $operand [, int $scale ] ) : string
网友评论