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 相关文章推荐
PHP导入Excel到MySQL的方法
Apr 23 PHP
php 使用GD库为页面增加水印示例代码
Mar 24 PHP
2个比较经典的PHP加密解密函数分享
Jul 01 PHP
destoon文章模块调用企业会员资料的方法
Aug 22 PHP
实现PHP+Mysql无限分类的方法汇总
Mar 02 PHP
php面向对象值单例模式
May 03 PHP
thinkPHP基于ajax实现的菜单与分页示例
Jul 12 PHP
Phpstorm+Xdebug断点调试PHP的方法
May 14 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
May 21 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
Jun 05 PHP
Yii框架组件的事件机制原理与用法分析
Apr 07 PHP
tp5.1 框架查询表达式用法详解
May 25 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/09 PHP
Apache服务器下防止图片盗链的办法
2015/07/06 PHP
PHP操作MongoDB实现增删改查功能【附php7操作MongoDB方法】
2018/04/24 PHP
JScript中的undefined和&quot;undefined&quot;的区别
2007/03/08 Javascript
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
2010/01/05 Javascript
javascript 学习笔记(onchange等)
2010/11/14 Javascript
javascript 窗口加载蒙板 内嵌网页内容
2010/11/19 Javascript
用jquery生成二级菜单的实例代码
2013/06/24 Javascript
不使用浏览器运行javascript代码的方法
2013/07/24 Javascript
javascript引用类型之时间Date和数组Array
2015/08/27 Javascript
javascript基于prototype实现类似OOP继承的方法
2015/12/16 Javascript
对js中回调函数的一些看法
2016/08/29 Javascript
AngularJs Scope详解及示例代码
2016/09/01 Javascript
js中的eval()函数把含有转义字符的字符串转换成Object对象的方法
2016/12/02 Javascript
前端面试知识点锦集(JavaScript篇)
2016/12/28 Javascript
JS实现图片点击后出现模态框效果
2017/05/03 Javascript
详解用Node.js写一个简单的命令行工具
2018/03/01 Javascript
Vue实现移动端左右滑动效果的方法
2018/11/27 Javascript
vue+高德地图实现地图搜索及点击定位操作
2020/09/09 Javascript
JS实现无限轮播无倒退效果
2020/09/21 Javascript
[01:01:13]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第三场
2018/04/06 DOTA
python使用socket进行简单网络连接的方法
2015/04/29 Python
在Python中操作字符串之startswith()方法的使用
2015/05/20 Python
Python中input与raw_input 之间的比较
2017/08/20 Python
python2和python3的输入和输出区别介绍
2018/11/20 Python
利用Python对文件夹下图片数据进行批量改名的代码实例
2019/02/21 Python
django 捕获异常和日志系统过程详解
2019/07/18 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
HTML5的结构和语义(5):内嵌媒体
2008/10/17 HTML / CSS
中国跨境在线时尚零售商:Bellelily
2018/04/06 全球购物
介绍一下linux文件系统分配策略
2013/02/25 面试题
庆祝国庆节演讲稿2014
2014/09/19 职场文书
山东省召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
企业群众路线教育实践活动心得体会
2014/11/03 职场文书
小学工作总结2015
2015/05/04 职场文书
JavaScript中时间格式化新思路toLocaleString()
2021/11/07 Javascript