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 相关文章推荐
ajax+php打造进度条 readyState各状态
Mar 20 PHP
linux下为php添加curl扩展的方法
Jul 29 PHP
使用PHP实现密保卡功能实现代码&amp;lt;打包下载直接运行&amp;gt;
Oct 09 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
Nov 22 PHP
支持中文、字母、数字的PHP验证码
May 04 PHP
Zend Framework教程之Application用法实例详解
Mar 14 PHP
php倒计时出现-0情况的解决方法
Jul 28 PHP
PHP命名空间namespace的定义方法详解
Mar 29 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
Jul 19 PHP
PHP设计模式之工厂模式详解
Oct 24 PHP
thinkphp集成前端脚手架Vue-cli的教程图解
Aug 30 PHP
PHP使用openssl扩展实现加解密方法示例
Feb 20 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
Snoopy类使用小例子
2008/04/15 PHP
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
2013/07/18 PHP
php post大量数据时发现数据丢失问题解决方法
2015/06/20 PHP
PHP多文件上传实例
2015/07/09 PHP
php+redis实现多台服务器内网存储session并读取示例
2017/01/12 PHP
PHP排序算法之归并排序(Merging Sort)实例详解
2018/04/21 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
2018/05/11 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
javascript模拟评分控件实现方法
2015/05/13 Javascript
创建一个类Person的简单实例
2016/05/17 Javascript
微信小程序 定义全局数据、函数复用、模版等详细介绍
2016/10/27 Javascript
本地Bootstrap文件字体图标引入却无法显示问题的解决方法
2020/04/18 Javascript
ionic2打包android时gradle无法下载的解决方法
2017/04/05 Javascript
JS请求servlet功能示例
2017/06/01 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
2017/06/12 jQuery
理解nodejs的stream和pipe机制的原理和实现
2017/08/12 NodeJs
vue2.0页面前进刷新回退不刷新的实现方法
2018/07/31 Javascript
vue动态绑定class的几种常用方式小结
2019/05/21 Javascript
Vue 实现对quill-editor组件中的工具栏添加title
2020/08/03 Javascript
浅析python 内置字符串处理函数的使用方法
2014/06/11 Python
Python中元组,列表,字典的区别
2017/05/21 Python
Python标准库之itertools库的使用方法
2017/09/07 Python
Tensorflow之构建自己的图片数据集TFrecords的方法
2018/02/07 Python
python2.7实现FTP文件下载功能
2018/04/15 Python
Python创建一个空的dataframe,并循环赋值的方法
2018/11/08 Python
Tensorflow获取张量Tensor的具体维数实例
2020/01/19 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
2020/02/17 Python
加拿大领先的冒险和户外零售商:Atmosphere
2017/12/19 全球购物
贝玲妃英国官网:Benefit英国
2018/02/03 全球购物
自荐信怎么写好
2013/11/11 职场文书
平面设计师工作职责范文
2013/12/03 职场文书
工程建设实施方案
2014/03/14 职场文书
群众路线剖析材料怎么写
2014/10/09 职场文书
小学一年级学生评语大全
2014/12/25 职场文书
Python中的xlrd模块使用整理
2021/06/15 Python
Java的Object类的九种方法
2022/04/13 Java/Android