您现在的位置是: 首页 > PHP PHP
PHP高精度计算函数
冬寂 2021-12-22 10:05:57 【PHP】 4189人已围观
PHP 为任意精度数学计算提供了二进制计算器(Binary Calculator),它支持任意大小和精度的数字,以字符串形式描述
bcadd — 加法
bccomp — 比较
bcdiv — 相除
bcmod — 求余数
bcmul — 乘法
bcpow — 次方
bcpowmod — 先次方然后求余数
bcscale — 给所有函数设置小数位精度
bcsqrt — 求平方根
bcsub — 减法
bccomp
(PHP 4, PHP 5, PHP 7, PHP 8)
bccomp — 比较两个任意精度的数字
说明
bccomp(string $num1
, string $num2
, ?int $scale
= null
): int
比较 num1
和 num2
, 并且返回整型数字的结果。
参数
num1
左边的运算数,是一个字符串。
num2
右边的运算数,是一个字符串。
scale
可选的
scale
参数被用作设置指示数字, 在使用来作比较的小数点部分。
返回值
两个数相等时返回 0; num1
比 num2
大时返回 1; 其他则返回 -1。
更新日志
版本 | 说明 |
---|---|
8.0.0 | 现在 scale 可以为 null。 |
范例
示例 #1 bccomp() 示例
<?php
echo bccomp('1', '2') . "\n"; // -1
echo bccomp('1.00001', '1', 3); // 0
echo bccomp('1.00001', '1', 5); // 1
?>
bcscale
(PHP 4, PHP 5, PHP 7, PHP 8)
bcscale — 设置/获取所有 bc math 函数的默认小数点保留位数
说明 ¶
bcscale(int $scale
): int
设置所有 bc math 函数在未设定情况下的小数点保留位数。
bcscale(null $scale
= null
): int
获取当前的小数点保留位数。
参数 ¶
scale
小数点保留位数。
返回值 ¶
设置的时候,返回之前的小数点保留位数。否则就是返回当前的位数。
更新日志 ¶
版本 | 说明 |
---|---|
8.0.0 | 现在 scale 可以为 null。 |
7.3.0 | 现在 bcscale() 不仅可以设置,还可以获取当前的小数点保留位数。 用于设置的时候,现在会返回之前的位数。 之前 scale 是强制的参数, 且 bcscale() 总是返回 true 。 |
范例 ¶
示例 #1 bcscale() 示例
<?php
// 默认小数点位数: 3
bcscale(3);
echo bcdiv('105', '6.55957'); // 16.007
// 不调用 bcscale() 也一样
echo bcdiv('105', '6.55957', 3); // 16.007
?>