PHP高精确度运算BC函数库实例详解


Posted in PHP onAugust 15, 2017

本文实例讲述了PHP高精确度运算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)
{
}
/***************************************************************************************
 *两个高精度数相加
 *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();
?>

PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:

在线一元函数(方程)求解计算工具:
http://tools.3water.com/jisuanqi/equ_jisuanqi

科学计算器在线使用_高级计算器在线计算:
http://tools.3water.com/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.3water.com/jisuanqi/jsq

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
Discuz! Passport 通行证整合
Mar 27 PHP
对text数据类型不支持代码页转换 从: 1252 到: 936
Apr 23 PHP
php smarty 二级分类代码和模版循环例子
Jun 16 PHP
使用php判断浏览器的类型和语言的函数代码
Feb 28 PHP
关于PHP结束标签的使用细节探讨及联想
Mar 04 PHP
Linux下PHP加速器APC的安装与配置笔记
Oct 24 PHP
php结合js实现点击超链接执行删除确认操作
Oct 31 PHP
PHP调用MySQL存储过程并返回值的方法
Dec 26 PHP
php编写的抽奖程序中奖概率算法
May 14 PHP
php商品对比功能代码分享
Sep 24 PHP
一个简单安全的PHP验证码类 附调用方法
Jun 24 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
Apr 22 PHP
PHP+原生态ajax实现的省市联动功能详解
Aug 15 #PHP
laravel学习笔记之模型事件的几种用法示例
Aug 15 #PHP
PHP实现的回溯算法示例
Aug 15 #PHP
php简单中奖算法(实例)
Aug 15 #PHP
PHP实现的随机红包算法示例
Aug 14 #PHP
详解PHP中的 input属性(隐藏 只读 限制)
Aug 14 #PHP
IOS 开发之NSDictionary转换成JSON字符串
Aug 14 #PHP
You might like
php实现的漂亮分页方法
2014/04/17 PHP
Yii2实现ActiveForm ajax提交
2017/05/26 PHP
从阿里妈妈发现的几个不错的表单验证函数
2007/09/21 Javascript
JavaScript Chart 插件整理
2010/06/18 Javascript
js获取php变量的实现代码
2013/08/10 Javascript
jquery css 设置table的奇偶行背景色示例
2014/06/03 Javascript
node.js中的fs.lchmodSync方法使用说明
2014/12/16 Javascript
node.js中的fs.rmdirSync方法使用说明
2014/12/16 Javascript
JavaScript获取当前网页最后修改时间的方法
2015/04/03 Javascript
JS实现Fisheye效果动感放大菜单代码
2015/10/21 Javascript
JavaScript弹出对话框的三种方式
2016/03/23 Javascript
Jquery实现$.fn.extend和$.extend函数
2016/04/14 Javascript
深入浅析JavaScript中with语句的理解
2016/05/12 Javascript
JS实现json的序列化和反序列化功能示例
2017/06/13 Javascript
详解Node.js中的Async和Await函数
2018/02/22 Javascript
JS实现将二维数组转为json格式字符串操作示例
2018/07/12 Javascript
vue-cli整合vuex的时候,修改actions和mutations,实现热部署的方法
2018/09/19 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
通过实践编写优雅的JavaScript代码
2019/05/30 Javascript
Vue快速实现通用表单验证的方法
2020/02/24 Javascript
webpack+express实现文件精确缓存的示例代码
2020/06/11 Javascript
如何区分vue中的v-show 与 v-if
2020/09/08 Javascript
使用IPython下的Net-SNMP来管理类UNIX系统的教程
2015/04/15 Python
Python中elasticsearch插入和更新数据的实现方法
2018/04/01 Python
解决Matplotlib图表不能在Pycharm中显示的问题
2018/05/24 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
2019/02/15 Python
在pandas中遍历DataFrame行的实现方法
2019/10/23 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
2020/09/15 Python
css3中flex布局宽度不生效的解决
2020/12/09 HTML / CSS
html5利用canvas绘画二级树形结构图的示例
2017/09/27 HTML / CSS
突破canvas语法限制 让他支持链式语法
2012/12/24 HTML / CSS
索引覆盖(Index Covering)查询含义
2012/02/18 面试题
卫校毕业生自我鉴定
2013/10/31 职场文书
办公楼租房协议书范本
2014/11/25 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS
Ruby GDBM操作简介及数据存储原理
2022/04/19 Ruby