您现在的位置是: 首页 > PHP PHP
PHP高精度计算函数
冬寂
2021-12-22 10:05:57
【PHP】
5340人已围观
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
?>
相关文章
随机图文
-
MySQL 随机排序 ORDER BY RAND() 性能优化
MySQL 随机排序 ORDER BY RAND() 性能优化 -
小王子(一)
当我还只有六岁的时候,在一本描写原始森林的名叫《真实的故事》的书中, 看到了一副精彩的插画,画的是一条蟒蛇正在吞食一只大野兽。页头上就是那副 画的摹本。 -
小王子(二)
在附近的宇宙中,还有 325、326、327、328、329、330等几颗小行星。他就开始访问这几颗星球,想在那里找点事干,并且学习学习。第一颗星球上住着一个国王。国王穿着用紫红色和白底黑花的毛皮做成的大礼服,坐在一个很简单却又十分威严的宝座上。 -
thinkphp6导入带图片的 Excel 表格
实现思路,先将excle上传保存到服务器,在读取excle处理数据和图片
