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学习之PHP表达式
Oct 09 PHP
PHP脚本数据库功能详解(中)
Oct 09 PHP
php数组函数序列之sort() 对数组的元素值进行升序排序
Nov 02 PHP
PHP 代码规范小结
Mar 08 PHP
php fsockopen伪造post与get方法的详解
Jun 14 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
Nov 05 PHP
深入理解PHP中的count函数
May 31 PHP
PHP二分查找算法示例【递归与非递归方法】
Sep 29 PHP
php魔术方法功能与用法实例分析
Oct 19 PHP
php array_values 返回数组的所有值详解及实例
Nov 12 PHP
PHP排序算法之希尔排序(Shell Sort)实例分析
Apr 20 PHP
关于laravel模板中生成URL的几种模式总结
Oct 18 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中iconv函数使用方法
2008/05/24 PHP
php switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
php发送与接收流文件的方法
2015/02/11 PHP
微信获取用户地理位置信息的原理与步骤
2015/11/12 PHP
Laravel 5.3 学习笔记之 安装
2016/08/28 PHP
js实现Select列表内容自动滚动效果代码
2015/08/20 Javascript
基于javascript实现窗口抖动效果
2016/01/03 Javascript
安装使用Mongoose配合Node.js操作MongoDB的基础教程
2016/03/01 Javascript
基于 Node.js 实现前后端分离
2016/04/23 Javascript
jQuery实现的购物车物品数量加减功能代码
2016/11/16 Javascript
JS实现的自动打字效果示例
2017/03/10 Javascript
Vue.js移动端左滑删除组件的实现代码
2017/09/08 Javascript
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
2017/12/01 Javascript
vue 设置proxyTable参数进行代理跨域
2018/04/09 Javascript
JS实现点击li标签弹出对应的索引功能【案例】
2019/02/18 Javascript
vue实现二级导航栏效果
2019/10/19 Javascript
js实现星星打分效果
2020/07/05 Javascript
python使用multiprocessing模块实现带回调函数的异步调用方法
2015/04/18 Python
通过数据库向Django模型添加字段的示例
2015/07/21 Python
python skimage 连通性区域检测方法
2018/06/21 Python
纯用NumPy实现神经网络的示例代码
2018/10/24 Python
对python的输出和输出格式详解
2018/12/08 Python
Django实现跨域的2种方法
2019/07/31 Python
python 非线性规划方式(scipy.optimize.minimize)
2020/02/11 Python
Python 使用 environs 库定义环境变量的方法
2020/02/25 Python
python解释器安装教程的方法步骤
2020/07/02 Python
H5仿微信界面教程(一)
2017/07/05 HTML / CSS
HTML5无刷新改变当前url的代码
2017/03/15 HTML / CSS
机械设计制造专业个人求职信
2013/09/25 职场文书
就业表自我评价分享
2014/02/06 职场文书
大学生学习面向未来的赶考思想汇报
2014/09/12 职场文书
大学生军训自我鉴定范文
2014/09/18 职场文书
2014年党的群众路线活动个人整改措施
2014/10/28 职场文书
铁人纪念馆观后感
2015/06/16 职场文书
Jupyter Notebook 如何修改字体和大小以及更改字体样式
2021/06/03 Python
python3+PyQt5+Qt Designer实现界面可视化
2021/06/10 Python