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中模拟POST传递数据的两种方法分享
Sep 16 PHP
php UBB 解析实现代码
Nov 27 PHP
如何在PHP中使用正则表达式进行查找替换
Jun 13 PHP
hadoop中一些常用的命令介绍
Jun 19 PHP
PHP中执行MYSQL事务解决数据写入不完整等情况
Jan 07 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
Apr 24 PHP
PHP5.3安装Zend Guard Loader图文教程
Sep 29 PHP
PHP mysql事务问题实例分析
Jan 18 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
Mar 22 PHP
PHP 生成微信红包代码简单
Mar 25 PHP
php基于PDO实现功能强大的MYSQL封装类实例
Feb 27 PHP
thinkPHP显示不出验证码的原因与解决方法分析
May 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
php使用Jpgraph绘制3D饼状图的方法
2015/06/10 PHP
php自动加载方式集合
2016/04/04 PHP
prototype 1.5相关知识及他人笔记
2006/12/16 Javascript
javascript下阻止表单重复提交、防刷新、防后退
2007/08/17 Javascript
浅析LigerUi开发中谨慎载入common.css文件
2013/07/09 Javascript
js获取url参数代码实例分享(JS操作URL)
2013/12/13 Javascript
javascript中Array数组的迭代方法实例分析
2015/02/04 Javascript
BootStrap 附加导航组件
2016/07/22 Javascript
Web纯前端“旭日图”实现元素周期表
2017/03/10 Javascript
集合Bootstrap自定义confirm提示效果
2017/09/19 Javascript
详解vue-router传参的两种方式
2018/09/10 Javascript
详解基于vue-cli3快速发布一个fullpage组件
2019/03/08 Javascript
JS手写一个自定义Promise操作示例
2020/03/16 Javascript
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
基于python的汉字转GBK码实现代码
2012/02/19 Python
跟老齐学Python之画圈还不简单吗?
2014/09/20 Python
使用Python的PEAK来适配协议的教程
2015/04/14 Python
如何在Python中实现goto语句的方法
2019/05/18 Python
centos 安装Python3 及对应的pip教程详解
2019/06/28 Python
Tensorflow实现多GPU并行方式
2020/02/03 Python
基于pandas向csv添加新的行和列
2020/05/25 Python
pytorch中index_select()的用法详解
2021/01/06 Python
CSS3实现DIV圆角效果完整代码
2012/10/10 HTML / CSS
HTML5 Plus 实现手机APP拍照或相册选择图片上传功能
2016/07/13 HTML / CSS
越南综合购物网站:Lazada越南
2019/06/10 全球购物
致标枪运动员加油稿
2014/02/15 职场文书
业务员简历自我评价
2014/03/06 职场文书
周年庆促销方案
2014/03/15 职场文书
校企合作协议书
2014/04/16 职场文书
马丁路德金演讲稿
2014/05/19 职场文书
先进党组织事迹材料
2014/12/26 职场文书
三八妇女节寄语
2015/02/27 职场文书
民间借贷纠纷案件代理词
2015/05/26 职场文书
mysql部分操作
2021/04/05 MySQL
Vue3.0写自定义指令的简单步骤记录
2021/06/27 Vue.js
零基础学java之带返回值的方法的定义和调用
2022/04/10 Java/Android