PHP精确计算功能示例


Posted in PHP onNovember 29, 2016

本文实例讲述了PHP精确计算功能。分享给大家供大家参考,具体如下:

引言:一定要确保数据的准确性。这是一个好的程序员的基本素养。

<?php
/**
 * 精确加法
 * @param [type] $a [description]
 * @param [type] $b [description]
 */
function math_add($a,$b,$scale = '2') {
  return bcadd($a,$b,$scale);
}
/**
 * 精确减法
 * @param [type] $a [description]
 * @param [type] $b [description]
 */
function math_sub($a,$b,$scale = '2') {
  return bcsub($a,$b,$scale);
}
/**
 * 精确乘法
 * @param [type] $a [description]
 * @param [type] $b [description]
 */
function math_mul($a,$b,$scale = '2') {
  return bcmul($a,$b,$scale);
}
/**
 * 精确除法
 * @param [type] $a [description]
 * @param [type] $b [description]
 */
function math_div($a,$b,$scale = '2') {
  return bcdiv($a,$b,$scale);
}
/**
 * 精确求余/取模
 * @param [type] $a [description]
 * @param [type] $b [description]
 */
function math_mod($a,$b) {
  return bcmod($a,$b);
}
/**
 * 比较大小
 * @param [type] $a [description]
 * @param [type] $b [description]
 * 大于 返回 1 等于返回 0 小于返回 -1
 */
function math_comp($a,$b,$scale = '5') {
  return bccomp($a,$b,$scale); // 比较到小数点位数
}
echo math_add('3.445','3.444')."\n"; // 加 6.88
echo math_sub('3.445','3.444')."\n"; // 减 0.00
echo math_mul('3.445','3.444')."\n"; // 乘 11.86
echo math_div('3.445','3.444')."\n"; // 除 1.00
echo math_mod('3.445','3.444')."\n"; // 取模 0
echo math_comp('3.445','3.444')."\n";// 比较 1
echo math_add('3.445','3.444','3')."\n"; // 加 6.889
echo math_sub('3.445','3.444','3')."\n"; // 减 0.001
echo math_mul('3.445','3.444','3')."\n"; // 乘 11.864
echo math_div('3.445','3.444','3')."\n"; // 除 1.000
echo math_mod('3.445','3.444')."\n"; // 取模 0
echo math_comp('3.445','3.444')."\n";// 比较 1
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP文本操作类
Nov 25 PHP
PHP6 先修班 JSON实例代码
Aug 23 PHP
PHP print类函数使用总结
Jun 25 PHP
php下通过curl抓取yahoo boss 搜索结果的实现代码
Jun 10 PHP
给初学者的30条PHP最佳实践(荒野无灯)
Aug 02 PHP
输入值/表单提交参数过滤有效防止sql注入的方法
Dec 25 PHP
了解PHP的返回引用和局部静态变量
Jun 04 PHP
PHP模糊查询的实现方法(推荐)
Sep 06 PHP
使用YII2框架实现微信公众号中表单提交功能
Sep 04 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 PHP
PHP中用Trait封装单例模式的实现
Dec 18 PHP
如何在PHP中使用AES加密算法加密数据
Jun 24 PHP
PHP 搜索查询功能实现
Nov 29 #PHP
php Session无效分析资料整理
Nov 29 #PHP
php 实现Hash表功能实例详解
Nov 29 #PHP
php文件上传 你真的掌握了吗
Nov 28 #PHP
php微信公众号js-sdk开发应用
Nov 28 #PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
Nov 28 #PHP
php微信公众平台交互与接口详解
Nov 28 #PHP
You might like
PHP 编程安全性小结
2010/01/08 PHP
php采用ajax数据提交post与post常见方法总结
2014/11/10 PHP
PHP数组操作类实例
2015/07/11 PHP
Javascript实现的分页函数
2006/12/22 Javascript
JavaScript入门教程(1) 什么是JS
2009/01/31 Javascript
浅析jQuery1.8的几个小变化
2013/12/10 Javascript
JQuery弹出层示例可自定义
2014/05/19 Javascript
js改变embed标签src值的方法
2015/04/10 Javascript
使用AngularJS创建自定义的过滤器的方法
2015/06/18 Javascript
JS实现单击输入框弹出选择框效果完整实例
2015/12/14 Javascript
javascript实现简单的on事件绑定
2016/08/23 Javascript
轻松掌握JavaScript策略模式
2016/08/25 Javascript
js内置对象处理_打印学生成绩单的简单实现
2016/09/24 Javascript
深入理解Angular.JS中的Scope继承
2017/06/04 Javascript
Node.js服务器开启Gzip压缩教程
2017/08/11 Javascript
layui select获取自定义属性方法
2018/08/15 Javascript
微信小程序用户授权,以及判断登录是否过期的方法
2019/05/10 Javascript
nodejs一个简单的文件服务器的创建方法
2019/09/13 NodeJs
weui中的picker使用js进行动态绑定数据问题
2019/11/06 Javascript
Vue请求java服务端并返回数据代码实例
2019/11/28 Javascript
python同时给两个收件人发送邮件的方法
2015/04/30 Python
Python作用域用法实例详解
2016/03/15 Python
Python实现包含min函数的栈
2016/04/29 Python
Scrapy爬虫实例讲解_校花网
2017/10/23 Python
对python3中pathlib库的Path类的使用详解
2018/10/14 Python
Python中修改字符串的四种方法
2018/11/02 Python
Python实现繁?转为简体的方法示例
2018/12/18 Python
python多线程并发实例及其优化
2019/06/27 Python
使用canvas来完成线性渐变和径向渐变的功能的方法示例
2019/07/25 HTML / CSS
专科毕业生自我鉴定
2013/12/01 职场文书
班干部演讲稿
2014/04/24 职场文书
电子信息工程自荐信
2014/05/26 职场文书
家庭教育的心得体会
2014/09/01 职场文书
场地使用证明模板
2014/10/25 职场文书
离婚协议书范文2015
2015/01/26 职场文书
2015年学校图书室工作总结
2015/05/19 职场文书