-
PHP常见数学函数及BC高精度数学函数用法示例
这篇文章主要介绍了PHP常见数学函数及BC高精度数学函数用法,简单列举了php常见数学运算函数并结合实例形式给出了bc高精度函数的功能与使用技巧,需要的朋友可以参考下。
本文实例讲述了PHP常见数学函数及BC高精度数学函数用法。分享给大家供大家参考,具体如下:
1. bcadd 任意精度数的相加
2. bcsub 任意精度数的减法
3. bcmul 乘法, bcdiv除法
4. bcmod 取余数。 (比%功能更强大)
5. bcpow 幂函数运算
6. bcsqrt 平方根
7. sqrt 平方根运算
8. pow求幂
9. abs 求绝对值
10. pi 得到圆周率数值
三角函数
sin cos tan asin acos atan(用弧度表达)
deg2rad 角度转换成弧度
rad2deg 弧度转换成角度
指数
log 求自然对数, log10 求10位底的对数
exp 以e为底的幂
各种数制转换
base_convert 通用的任意数制转换
bindec 二进制转换成十进制
decbin 十进制转换成二进制
dechex 十进制转换成十六进制
decoct 十进制转换成八进制
hexdec 十六进制转换成十进制
octdec 八进制转换成十进制
BC高精确度函数用法示例:
- <?php
- /***************************************************************************************
- *php BC高精确度函数库
- *php bc math 包含了:相加,比较,相除,相减,求余,相乘,n次方,配置默认小数点数目,求平方
- *这些函数在涉及到有关金钱的计算时比较有用
- ***************************************************************************************
- *两个高精度数比较
- *工作中遇到一种情况,0.00 != 0
- *int bccomp ( string $left_operand , string $right_operand [, int $scale ] )
- *$left=$right 返回 0
- *$left<$right 返回 -1
- *$left>$right 返回 1
- *$scale 小数点位数
- ***************************************************************************************/
- $a = 4.45;
- $b = 5.54;
- if(bccomp($a, $b, 2) == 0)
- {
- echo "完全相等";
- }
- /***************************************************************************************
- *两个高精度数相加
- *string bcadd ( string $left_operand , string $right_operand [, int $scale ] )
- *$scale 返回的小数点个数
- ***************************************************************************************/
- $a = 1.0321456;
- $b = 0.0123456;
- $c = bcadd($a, $b, 2);
- var_dump($c);
- /***************************************************************************************
- *两个高精度数相减
- *sstring bcsub ( string $left_operand , string $right_operand [, int $scale ] )
- *$scale 返回的小数点个数
- ***************************************************************************************/
- $a = 1.0321456;
- $b = 3.0123456;
- $c = bcsub($a, $b, 2);
- var_dump($c);
- /********************************************************
- *两个高精度数求余/取模
- *string bcmod ( string $left_operand , string $modulus )
- *******************************************************/
- $a = 6;
- $b = 4;
- $c = bcmod($a, $b);
- var_dump($c);
- /***************************************************************************************
- *两个高精度数相除
- *string bcdiv ( string $left_operand , string $right_operand [, int $scale ] )
- *$scale小数点位数默认为 0
- ***************************************************************************************/
- $a = 6;
- $b = 5;
- $c = bcdiv($a, $b, 3);
- var_dump($c);
- /***************************************************************************************
- *两个高精度数相乘
- *string bcmul ( string $left_operand , string $right_operand [, int $scale ] )
- *$scale小数点位数默认为 0
- ***************************************************************************************/
- $a = 3.1415926;
- $b = 2.4569874566;
- $c = bcmul($a, $b, 6);
- var_dump($c);
- /***************************************************************************************
- *两个高精度数的次方值
- *string bcpow ( string $left_operand , string $right_operand [, int $scale ] )
- *$scale小数点位数默认为 0
- ***************************************************************************************/
- $a = 3.1415926;
- $b = 2;
- $c = bcpow($a, $b, 3);
- var_dump($c);
- /**************************************************
- *求高精度数的平方根
- *string bcsqrt ( string $operand [, int $scale ] )
- *$scale小数点位数默认为 0
- ***************************************************/
- $b = bcsqrt($a, 6);
- var_dump($b);
- /******************************
- *设置bc函数的小数点位数
- *bool bcscale ( int $scale )
- *$scale小数点位数默认为 0
- ******************************/
- bcscale(2);
- ?>
运行结果:
- string(4) "1.04"
- string(5) "-1.98"
- string(1) "2"
- string(5) "1.200"
- string(8) "7.718853"
- string(5) "9.869"
- string(8) "1.772453"
出处:http://www.phpfensi.com/php/20210817/17645.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式