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调用Java对象的方法
Oct 09 PHP
PHP实现用户认证及管理完全源码
Mar 11 PHP
php 文件上传类代码
Aug 06 PHP
探讨fckeditor在Php中的配置详解
Jun 08 PHP
Drupal7 form表单二次开发要点与实例
Mar 02 PHP
PHPMailer发送HTML内容、带附件的邮件实例
Jul 01 PHP
PHP清除数组中所有字符串两端空格的方法
Oct 20 PHP
优化WordPress中文章与评论的时间显示
Jan 12 PHP
全新Mac配置PHP开发环境教程
Feb 03 PHP
PHP正则表达式入门教程(推荐)
May 18 PHP
Laravel如何友好的修改.env配置文件详解
Jun 07 PHP
PHP简单实现模拟登陆功能示例
Sep 15 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上传图片、删除图片实现代码
2010/05/12 PHP
php获取操作系统语言代码
2013/11/04 PHP
PHP的mysqli_stmt_init()函数讲解
2019/01/24 PHP
用js实现多域名不同文件的调用方法
2007/01/12 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
js动态生成指定行数的表格
2013/07/11 Javascript
JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
2014/10/17 Javascript
jQuery中index()方法用法实例
2014/12/27 Javascript
AspNet中使用JQuery boxy插件的确认框
2015/05/20 Javascript
修改Jquery Dialog 位置的实现方法
2016/08/26 Javascript
JavaScript之iterable_动力节点Java学院整理
2017/06/29 Javascript
JavaScript生成图形验证码
2020/08/24 Javascript
vue父组件点击触发子组件事件的实例讲解
2018/02/08 Javascript
vue-cli下的vuex的简单Demo图解(实现加1减1操作)
2018/02/26 Javascript
修改Nodejs内置的npm默认配置路径方法
2018/05/13 NodeJs
Vue函数式组件-你值得拥有
2019/05/09 Javascript
VUE实现Studio管理后台之鼠标拖放改变窗口大小
2020/03/04 Javascript
手把手带你搭建一个node cli的方法示例
2020/08/07 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
2020/08/17 Javascript
Python通过websocket与js客户端通信示例分析
2014/06/25 Python
Python获取Linux系统下的本机IP地址代码分享
2014/11/07 Python
Python创建模块及模块导入的方法
2015/05/27 Python
用matplotlib画等高线图详解
2017/12/14 Python
图解Python变量与赋值
2018/04/03 Python
Python统计单词出现的次数
2018/04/04 Python
python 基于dlib库的人脸检测的实现
2019/11/08 Python
Python autoescape标签用法解析
2020/01/17 Python
Pycharm 如何一键加引号的方法步骤
2021/02/05 Python
联想墨西哥官方网站:Lenovo墨西哥
2016/08/17 全球购物
奥地利智能家居和智能生活网上商店:tink.at
2019/10/07 全球购物
大学生活动策划方案
2014/02/10 职场文书
小学生推普周国旗下讲话稿
2014/09/21 职场文书
2015年发展党员工作总结报告
2015/03/31 职场文书
军训后的感想
2015/08/07 职场文书
2016春季小学开学寄语
2015/12/03 职场文书
2016年基层党组织公开承诺书
2016/03/25 职场文书