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中遍历stdclass object的实现代码
Jun 09 PHP
PHP字符串函数系列之nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符br
Nov 10 PHP
PHP时间戳与日期之间转换的实例介绍
Apr 19 PHP
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
Aug 01 PHP
PHP实现的sqlite数据库连接类
Dec 12 PHP
php魔术函数__call()用法实例分析
Feb 13 PHP
服务器迁移php版本不同可能诱发的问题
Dec 22 PHP
详解PHP的Yii框架中自带的前端资源包的使用
Mar 31 PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
Jun 15 PHP
ThinkPHP和UCenter接口冲突的解决方法
Jul 25 PHP
PHP CURL中传递cookie的方法步骤
May 09 PHP
php 利用socket发送GET,POST请求的实例代码
Jul 04 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数据库操作方法(MYSQL版)
2011/06/08 PHP
php轻松实现中英文混排字符串截取
2014/05/28 PHP
php的ZipArchive类用法实例
2014/10/20 PHP
Laravel中任务调度console使用方法小结
2017/05/07 PHP
PHP数据库操作四:mongodb用法分析
2017/08/16 PHP
Jquery EasyUI中弹出确认对话框以及加载效果示例代码
2014/02/13 Javascript
js使用Array.prototype.sort()对数组对象排序的方法
2015/01/28 Javascript
基于js实现checkbox批量选中操作
2016/11/22 Javascript
输入框点击时边框变色效果的实现方法
2016/12/26 Javascript
详解vue过滤器在v2.0版本用法
2017/06/01 Javascript
JavaScript循环_动力节点Java学院整理
2017/06/28 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
2019/01/23 Javascript
详解js根据百度地图提供经纬度计算两点距离
2019/05/13 Javascript
ES6 Object方法扩展的应用实例分析
2019/06/25 Javascript
Vue发布项目实例讲解
2019/07/17 Javascript
[01:32:50]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第一场 1月25日
2021/03/11 DOTA
python双向链表实现实例代码
2013/11/21 Python
纯Python开发的nosql数据库CodernityDB介绍和使用实例
2014/10/23 Python
使用Python的Scrapy框架编写web爬虫的简单示例
2015/04/17 Python
Linux下python与C++使用dlib实现人脸检测
2018/06/29 Python
Python爬虫运用正则表达式的方法和优缺点
2019/08/25 Python
简单的大学生自我鉴定
2014/02/18 职场文书
创意广告词
2014/03/17 职场文书
村干部承诺书
2014/03/28 职场文书
车辆工程专业求职信
2014/04/28 职场文书
我的小天地教学反思
2014/04/30 职场文书
学校宣传标语
2014/06/18 职场文书
上海世博会口号
2014/06/19 职场文书
先进集体申报材料
2014/12/25 职场文书
2015年乡镇工作总结范文
2015/04/22 职场文书
欠款起诉书范文
2015/05/19 职场文书
小学生手册家长意见
2015/06/03 职场文书
实习单位鉴定意见
2015/06/04 职场文书
python利用while求100内的整数和方式
2021/11/07 Python
Redis 操作多个数据库的配置的方法实现
2022/03/23 Redis
element tree树形组件回显数据问题解决
2022/08/14 Javascript