TreeviewCopyright © aleen42 all right reserved, powered by aleen42
BC高精度函数
bcadd — 2个任意精度数字的加法计算
语法
string bcadd( string $left_operand, string $right_operand[, int $scale] )
描述
- 左操作数和右操作数求和
参数
参数 | 描述 |
---|---|
left_operand | 左操作数,字符串类型 |
right_operand | 右操作数,字符串类型 |
scale | 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。 |
返回值
- 2个操作数求和之后的结果以字符串返回
举例
// 示例
$result = bcadd(12.3344,15.2255,3); // 27.5599
var_dump($result);
// 结果
string(6) "27.559" // 可以看出最后一位直接舍去
bcsub — 2个任意精度数字的减法
语法
string bcsub( string $left_operand, string $right_operand[, int $scale = int] )
描述
- 左操作数减去右操作数
参数
参数 | 描述 |
---|---|
left_operand | 左操作数,字符串类型 |
right_operand | 右操作数,字符串类型 |
scale | 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。 |
返回值
- 返回减法之后结果为字符串类型
举例
// 示例
$result = bcsub(12.313,13.131323,2);
var_dump($result);
// 结果
string(5) "-0.81"
bcmul — 2个任意精度数字乘法计算
语法
string bcmul( string $left_operand, string $right_operand[, int $scale = int] )
描述
- 左操作数乘以右操作数
参数
参数 | 描述 |
---|---|
left_operand | 左操作数,字符串类型 |
right_operand | 右操作数,字符串类型 |
scale | 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。 |
返回值
- 返回结果为字符串类型
举例
// 示例
$result = bcmul(1243.11,1.2321,2);
var_dump($result);
// 结果
string(7) "1531.63"
bcdiv — 2个任意精度的数字除法计算
语法
string bcdiv( string $left_operand, string $right_operand[, int $scale = int] )
描述
- 左操作数除以右操作数
参数
参数 | 描述 |
---|---|
left_operand | 左操作数,字符串类型 |
right_operand | 右操作数,字符串类型 |
scale | 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。 |
返回值
- 返回结果为字符串类型的结果,如果右操作不能为0
举例
// 示例
$result = bcdiv(12.33,10.25,2);
var_dump($result);
$result = bcdiv(12.33,0,2);
var_dump($result);
// 结果
string(4) "1.20"
Warning: bcdiv(): Division by zero
bcmod — 对一个任意精度数字取模
语法
string bcmod( string $left_operand, string $modulus)
描述
- 对左操作数使用系数取模
参数
参数 | 描述 |
---|---|
left_operand | 字符串类型的左操作数 |
modulus | 字符串类型系数 |
返回值
- 返回字符串类型取模后结果
举例
// 示例
$result = bcmod(16.01,7);
var_dump($result);
// 结果
string(1) "2"
bcsqrt — 任意精度数字的二次方根
语法
string bcsqrt( string $operand[, int $scale] )
描述
- 返回操作数的二次方根
参数
参数 | 描述 |
---|---|
operand | 字符串类型的操作数 |
scale | 此可选参数用于设置结果中小数点后的小数位数 |
返回值
- 返回二次方根的结果为字符串类型,操作数必须是正数
举例
// 示例
$result = bcsqrt(12.13,2);
var_dump($result);
$result = bcsqrt(2,2);
var_dump($result);
// 结果
string(4) "3.48"
string(4) "1.41"
bcpow — 任意精度数字的乘方
语法
string bcpow( string $left_operand, string $right_operand[, int $scale] )
描述
- 左操作数的右操作数次方运算
参数
参数 | 描述 |
---|---|
left_operand | 左操作数,字符串类型 |
right_operand | 右操作数,字符串类型 |
scale | 此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数,用于所有函数。 |
返回值
- 返回结果为字符串类型
举例
// 示例
$result = bcpow(2.01,3,2);
var_dump($result);
// 结果
string(4) "8.12"
bccomp — 比较两个任意精度的数字
语法
int bccomp( string $left_operand, string $right_operand[, int $scale = int] )
描述
- 把right_operand和left_operand作比较, 并且返回一个整数的结果
参数
参数 | 描述 |
---|---|
left_operand | 左操作数,字符串类型 |
right_operand | 右操作数,字符串类型 |
scale | 可选的scale参数被用作设置指示数字,在使用来作比较的小数点部分 |
返回值
- 如果两个数相等返回0, 左边的数left_operand比较右边的数right_operand大返回1, 否则返回-1.
举例
// 示例
$result = bccomp(8.924,3.2,2);
var_dump($result);
$result = bccomp(8.131,8.130,2);
var_dump($result);
// 结果
int(1)
int(0)