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 相关文章推荐
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
Sep 30 PHP
解析PHP工厂模式的好处
Jun 18 PHP
php使用百度翻译api示例分享
Jan 31 PHP
PHP中is_file不能替代file_exists的理由
Mar 04 PHP
采用memcache在web集群中实现session的同步会话
Jul 05 PHP
php设计模式之简单工厂模式详解
Sep 04 PHP
PHP动态柱状图实现方法
Mar 30 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
Dec 07 PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
Apr 10 PHP
php输出控制函数和输出函数生成静态页面
Jun 27 PHP
php装饰者模式简单应用案例分析
Oct 23 PHP
PHP实用小技巧之调用录像的方法
Dec 05 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 sprintf()函数让你的sql操作更安全
2008/07/23 PHP
Apache+php+mysql在windows下的安装与配置图解(最新版)
2008/11/30 PHP
php实现的支持imagemagick及gd库两种处理的缩略图生成类
2014/09/23 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
2014/10/21 PHP
通过Unicode转义序列来加密,按你说的可以算是混淆吧
2007/05/06 Javascript
JQuery筛选器全系列介绍
2013/08/27 Javascript
jQuery对象与DOM对象转换方法详解
2016/05/10 Javascript
javascript实现任务栏消息提示的简单实例
2016/05/31 Javascript
jQuery获取file控件中图片的宽高与大小
2016/08/04 Javascript
angular 实时监听input框value值的变化触发函数方法
2018/08/31 Javascript
JS求1到任意数之间的所有质数的方法详解
2019/05/20 Javascript
实用Javascript调试技巧分享(小结)
2019/06/18 Javascript
什么时候不能在 Node.js 中使用 Lock Files
2019/06/24 Javascript
JS实现简单随机3D骰子
2019/10/24 Javascript
使用Python生成url短链接的方法
2015/05/04 Python
在Python中处理字符串之isdecimal()方法的使用
2015/05/20 Python
python创建临时文件夹的方法
2015/07/06 Python
使用Python绘制图表大全总结
2017/02/11 Python
Python使用xlwt模块操作Excel的方法详解
2018/03/27 Python
对python中for、if、while的区别与比较方法
2018/06/25 Python
Django 多环境配置详解
2019/05/14 Python
Jupyter加载文件的实现方法
2020/04/14 Python
Python实现迪杰斯特拉算法过程解析
2020/09/18 Python
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
南非最大的在线时尚商店:Zando
2019/07/21 全球购物
大学生就业自荐信
2013/10/26 职场文书
授权委托书怎么写
2014/04/03 职场文书
装修公司工程部经理岗位职责
2015/04/09 职场文书
2015年社区流动人口工作总结
2015/05/12 职场文书
2016党员干部政治学习心得体会
2016/01/23 职场文书
SQL Server2019数据库之简单子查询的具有方法
2021/04/27 SQL Server
Pytorch实现图像识别之数字识别(附详细注释)
2021/05/11 Python
Python中第三方库Faker的使用详解
2022/04/02 Python
根德5570型九灯四波段立体声收音机是电子管收音机的楷模 ? 再论5570
2022/04/05 无线电
Python爬虫网络请求之代理服务器和动态Cookies
2022/04/12 Python
Tomcat安装使用及部署Web项目的3种方法汇总
2022/08/14 Servers