PHP精确计算功能示例

 更新时间:2016年11月29日 11:30:50   作者:牛逼的霍啸林  
这篇文章主要介绍了PHP精确计算功能,结合实例形式分析了php进行针对加减乘除等数学运算的精确方法,涉及bcadd、bcsub、bcmul、bcdiv等函数的使用技巧,需要的朋友可以参考下

本文实例讲述了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运算与运算符用法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php正则表达式用法总结》及《php常见数据库操作技巧汇总

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

相关文章

  • PHP XML Expat解析器知识点总结

    PHP XML Expat解析器知识点总结

    在本文里我们给大家整理了关于PHP XML Expat解析器的相关知识点内容,需要的朋友们学习下这个吧。
    2019-02-02
  • 关于php mvc开发模式的感想

    关于php mvc开发模式的感想

    使用mvc开发已经有一段很长时间了,发现了一些问题。
    2011-06-06
  • PHP __autoload()方法真的影响性能吗?

    PHP __autoload()方法真的影响性能吗?

    对于php性能问题,议论最多的就是__autoload()方法,很多人提到这个方法非常影响性能。还有人说opcode也能影响到__autoload()方法,所以针对这两点我做了个测试
    2012-03-03
  • php提取数字拼接数组的具体操作

    php提取数字拼接数组的具体操作

    在本篇文章里小编个大家整理了一篇关于php提取数字拼接数组的具体操作方法,有需要的朋友们可以跟着学习下。
    2021-08-08
  • 基于PHP对XML的操作详解

    基于PHP对XML的操作详解

    本篇文章是关于PHP对XML的操作进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP获取毫秒级时间戳的方法

    PHP获取毫秒级时间戳的方法

    这篇文章主要介绍了PHP获取毫秒级时间戳的方法,涉及php针对microtime函数返回结果的处理技巧,非常简单实用,需要的朋友可以参考下
    2015-04-04
  • php打印输出棋盘的实现方法

    php打印输出棋盘的实现方法

    这篇文章主要介绍了php打印输出棋盘的实现方法,以实例形式分析了两种不同的实现方法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • WordPress中邮件的一些修改和自定义技巧

    WordPress中邮件的一些修改和自定义技巧

    这篇文章主要介绍了WordPress中邮件的一些修改和自定义技巧,包括更改邮件为HTML形式以及定义SMTP邮件的发件人的方法,需要的朋友可以参考下
    2015-12-12
  • PHP基于递归实现的约瑟夫环算法示例

    PHP基于递归实现的约瑟夫环算法示例

    这篇文章主要介绍了PHP基于递归实现的约瑟夫环算法,结合实例形式较为详细的分析了约瑟夫环问题与php使用递归算法的解决方法,需要的朋友可以参考下
    2017-08-08
  • PHP开发负载均衡指南

    PHP开发负载均衡指南

    过去当运行一个大的web应用时候意味着运行一个大型的web服务器。因为你的应用吸引了大量的用户,你将不得不在你的服务器里增加更多的内存和处理器。
    2010-07-07

最新评论