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 相关文章推荐
模拟OICQ的实现思路和核心程序(一)
Oct 09 PHP
一个可以删除字符串中HTML标记的PHP函数
Oct 09 PHP
PHP完整的日历类(CLASS)
Nov 27 PHP
PHP中__get()和__set()的用法实例详解
Jun 04 PHP
php判断是否为json格式的方法
Mar 04 PHP
phpcms手机内容页面添加上一篇和下一篇
Jun 05 PHP
php session 写入数据库
Feb 13 PHP
Zend Framework分页类用法详解
Mar 22 PHP
PHP模糊查询的实现方法(推荐)
Sep 06 PHP
php数据序列化测试实例详解
Aug 12 PHP
PHP count_chars()函数讲解
Feb 14 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
Mar 30 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
Windows下部署Apache+PHP+MySQL运行环境实战
2012/08/31 PHP
PHP 实现类似js中alert() 提示框
2015/03/18 PHP
jquery命令汇总,方便使用jquery的朋友
2012/06/26 Javascript
从数据结构分析看:用for each...in 比 for...in 要快些
2013/04/17 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
2013/12/16 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
js获取页面description的方法
2015/05/21 Javascript
js限制input标签中只能输入中文
2015/06/26 Javascript
Bootstrap模态框禁用空白处点击关闭
2016/10/20 Javascript
JavaScript实现的可变动态数字键盘控件方式实例代码
2017/07/15 Javascript
JavaScript简单实现合并两个Json对象的方法示例
2017/10/16 Javascript
JS验证输入的是否是数字及保留几位小数问题
2018/05/09 Javascript
vue组件挂载到全局方法的示例代码
2018/08/02 Javascript
利用JS实现一个同Excel表现的智能填充算法
2018/08/13 Javascript
vue实现可视化可拖放的自定义表单的示例代码
2019/03/20 Javascript
JS实现图片轮播效果实例详解【可自动和手动】
2019/04/04 Javascript
解决Vue项目中tff报错的问题
2020/10/21 Javascript
python操作xml文件示例
2014/04/07 Python
python计算时间差的方法
2015/05/20 Python
解密Python中的描述符(descriptor)
2015/06/03 Python
Python的Tornado框架的异步任务与AsyncHTTPClient
2016/06/27 Python
Python设计模式之抽象工厂模式
2016/08/25 Python
python中实现迭代器(iterator)的方法示例
2017/01/19 Python
python操作日志的封装方法(两种方法)
2019/05/23 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
2020/07/13 Python
CSS3对背景图片的裁剪及尺寸和位置的设定方法
2016/03/07 HTML / CSS
CSS3制作气泡对话框的实例教程
2016/05/10 HTML / CSS
印度网上购物首选目的地:Flipkart
2016/08/01 全球购物
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
入党积极分子自我鉴定范文
2014/03/25 职场文书
询价采购方案
2014/06/09 职场文书
2014年仓库管理工作总结
2014/12/17 职场文书
检讨书范文大全
2015/05/07 职场文书
2016年父亲节寄语
2015/12/04 职场文书
GoFrame基于性能测试得知grpool使用场景
2022/06/21 Golang
HTML5页面打开微信小程序功能实现
2022/09/23 HTML / CSS