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 七大优势分析
Jun 23 PHP
深入探讨PHP中的内存管理问题
Aug 31 PHP
PHP生成随机用户名和密码的实现代码
Feb 27 PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
Jun 18 PHP
php一次性删除前台checkbox多选内容的方法
Sep 22 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
Sep 22 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
Jul 10 PHP
微信公众号开发之语音消息识别php代码
Aug 08 PHP
PHP反射API示例分享
Oct 08 PHP
PHP实现二维数组根据key进行排序的方法
Dec 30 PHP
PHP后期静态绑定实例浅析
Dec 21 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
Oct 08 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
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
2015/10/01 PHP
PHP入门教程之图像处理技巧分析
2016/09/11 PHP
php实现压缩合并js的方法【附demo源码下载】
2016/09/22 PHP
Yii2框架中一些折磨人的坑
2019/12/15 PHP
关于IE7 IE8弹出窗口顶上
2008/12/22 Javascript
js multiple全选与取消全选实现代码
2012/12/04 Javascript
js带按钮的提示框可供选择示例代码
2013/09/17 Javascript
jQuery extend 的简单实例
2013/09/18 Javascript
nodejs文件操作模块FS(File System)常用函数简明总结
2014/06/05 NodeJs
JavaScript常用标签和方法总结
2015/09/01 Javascript
JS命令模式例子之菜单程序
2016/10/10 Javascript
js获取指定字符前/后的字符串简单实例
2016/10/27 Javascript
vuejs绑定class和style样式
2017/04/11 Javascript
JavaScript实现多重继承的方法分析
2018/01/09 Javascript
js 数组详细操作方法及解析合集
2018/06/01 Javascript
vue.js+element-ui动态配置菜单的实例
2018/09/07 Javascript
JavaScript禁用右键单击优缺点分析
2019/01/20 Javascript
extjs4图表绘制之折线图实现方法分析
2020/03/06 Javascript
深入解读VUE中的异步渲染的实现
2020/06/19 Javascript
[08:47]DOTA2每周TOP10 精彩击杀集锦vol.6
2014/06/25 DOTA
[02:59]2014DOTA2西雅图国际邀请赛 圆满落幕中国夺冠
2014/07/23 DOTA
[49:08]Secret vs VP 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Django中实现一个高性能计数器(Counter)实例
2014/07/09 Python
编写自定义的Django模板加载器的简单示例
2015/07/21 Python
python先序遍历二叉树问题
2017/11/10 Python
python进程间通信Queue工作过程详解
2019/11/01 Python
解决keras加入lambda层时shape的问题
2020/06/11 Python
澳大利亚波西米亚风情网上商店:Czarina
2019/03/18 全球购物
英国独特家具和家庭用品购物网站:Cuckooland
2020/08/30 全球购物
水污染治理专业毕业生推荐信
2013/11/14 职场文书
毕业生的求职信范文分享
2013/12/04 职场文书
企业指导教师评语
2014/04/28 职场文书
大学生新学期计划书
2014/04/28 职场文书
少先队辅导员事迹材料
2014/12/24 职场文书
2015年房地产销售工作总结
2015/04/20 职场文书
Redis做数据持久化的解决方案及底层原理
2021/07/15 Redis