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 和 MySQL 时区的一点总结
Mar 26 PHP
php获取post中的json数据的实现方法
Jun 08 PHP
php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
Aug 09 PHP
PHP可逆加密/解密函数分享
Sep 25 PHP
PHP中鲜为人知的10个函数
Feb 28 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
Mar 20 PHP
PHP防止post重复提交数据的简单例子
Jun 07 PHP
ThinkPHP的模版中调用session数据的方法
Jul 01 PHP
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
Jul 22 PHP
PHP实现获取某个月份周次信息的方法
Aug 11 PHP
py文件转exe时包含paramiko模块出错解决方法
Aug 12 PHP
PHP defined()函数的使用图文详解
Jul 20 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/08/08 PHP
PHP实现递归无限级分类
2015/10/22 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
2016/12/05 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
2017/03/10 PHP
jQuery入门之层次选择器实例简析
2015/12/11 Javascript
jQuery实现摸拟alert提示框
2016/05/22 Javascript
JavaScript中匿名函数的递归调用
2017/01/22 Javascript
轻松学习Javascript闭包
2017/03/01 Javascript
Node.js 实现简单的接口服务器的实例代码
2017/05/23 Javascript
详解vee-validate的使用个人小结
2017/06/07 Javascript
用vue-cli开发vue时的代理设置方法
2018/09/20 Javascript
解决vue页面渲染但dom没渲染的操作
2020/07/27 Javascript
js实现点击按钮随机生成背景颜色
2020/09/05 Javascript
详解javascript脚本何时会被执行
2021/02/05 Javascript
Vue SPA 首屏优化方案
2021/02/26 Vue.js
[12:36]《DOTA2》国服注册与激活指南全攻略
2013/04/28 DOTA
[01:05:24]Ti4 冒泡赛第二天 iG vs NEWBEE 3
2014/07/15 DOTA
Python中用于检查英文字母大写的isupper()方法
2015/05/19 Python
Python while、for、生成器、列表推导等语句的执行效率测试
2015/06/03 Python
Python中安装easy_install的方法
2018/11/18 Python
python算法题 链表反转详解
2019/07/02 Python
python内置模块collections知识点总结
2019/12/19 Python
PyTorch 导数应用的使用教程
2020/08/31 Python
python logging模块的使用详解
2020/10/23 Python
用HTML5制作一个简单的桌球游戏的教程
2015/05/12 HTML / CSS
HTML5视频播放插件 video.js介绍
2018/09/29 HTML / CSS
购买英国原创艺术:Art Gallery
2018/08/25 全球购物
POP文化和音乐灵感的时尚:Hot Topic
2019/06/19 全球购物
大学生求职信范文应怎么写
2014/01/01 职场文书
《三亚落日》教学反思
2014/04/26 职场文书
营销部内勤岗位职责
2014/04/30 职场文书
大学生个人年度总结范文
2015/02/15 职场文书
2015年度护士个人工作总结
2015/04/09 职场文书
JavaScript实现淘宝商品图切换效果
2021/04/29 Javascript
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL
html5实现点击弹出图片功能
2021/07/16 HTML / CSS