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 相关文章推荐
第十四节 命名空间 [14]
Oct 09 PHP
用PHP动态生成虚拟现实VRML网页
Oct 09 PHP
推荐个功能齐全的发送PHP邮件类
Jan 03 PHP
在WAMP环境下搭建ZendDebugger php调试工具的方法
Jul 18 PHP
浅谈php冒泡排序
Dec 30 PHP
php读取csc文件并输出
May 21 PHP
Symfony控制层深入详解
Mar 17 PHP
PHP中header函数的用法及其注意事项详解
Jun 13 PHP
[原创]php正则删除img标签的方法示例
May 27 PHP
php 删除指定文件夹的实例讲解
Jul 25 PHP
yii2多图上传组件的使用教程
May 10 PHP
Thinkphp 框架扩展之驱动扩展实例分析
Apr 27 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
从一个不错的留言本弄的mysql数据库操作类
2007/09/02 PHP
PHP文件操作实现代码分享
2011/09/01 PHP
采集邮箱的php代码(抓取网页中的邮箱地址)
2012/07/17 PHP
PHP中抽象类和抽象方法概念与用法分析
2016/05/24 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
2017/10/07 PHP
Laravel5.1 框架表单验证操作实例详解
2020/01/07 PHP
JavaScript高级程序设计 阅读笔记(二十一) JavaScript中的XML
2012/09/14 Javascript
JS图片无缝滚动(简单利于使用)
2013/06/17 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
2014/06/16 Javascript
JavaScript中Cookie操作实例
2015/01/09 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
2016/07/04 Javascript
关于JS变量和作用域详解
2016/07/28 Javascript
JavaScript模板引擎Template.js使用详解
2016/12/15 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
2017/05/25 jQuery
微信小程序学习笔记之目录结构、基本配置图文详解
2019/03/28 Javascript
vue实现新闻展示页的步骤详解
2019/04/11 Javascript
js判断浏览器的环境(pc端,移动端,还是微信浏览器)
2020/12/24 Javascript
vue中js判断长时间不操作界面自动退出登录(推荐)
2020/01/22 Javascript
低版本中Python除法运算小技巧
2015/04/05 Python
Python的Django框架中的URL配置与松耦合
2015/07/15 Python
浅析python协程相关概念
2018/01/20 Python
django自带的server 让外网主机访问方法
2018/05/14 Python
详解python调用cmd命令三种方法
2019/07/08 Python
python模拟预测一下新型冠状病毒肺炎的数据
2020/02/01 Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
2020/04/22 Python
Python3自动生成MySQL数据字典的markdown文本的实现
2020/05/07 Python
keras K.function获取某层的输出操作
2020/06/29 Python
css3实现一个div设置多张背景图片及background-image属性实例演示
2017/08/10 HTML / CSS
皇家阿尔伯特瓷器美国官网:Royal Albert美国
2020/02/16 全球购物
荣耀俄罗斯官网:HONOR俄罗斯
2020/10/31 全球购物
优秀的教师个人的中文求职信
2013/09/21 职场文书
公安局负责人查摆问题及整改方案
2014/09/27 职场文书
2015年大学迎新晚会总结
2015/07/16 职场文书
幼儿园教师教育随笔
2015/08/14 职场文书
《正面管教》读后有感:和善而坚定的旅程
2019/12/19 职场文书
CentOS MySql8 远程连接实战
2022/04/19 MySQL