总结PHP中数值计算的注意事项

 更新时间:2016年08月14日 16:38:16   转载 投稿:daisy  
本文将对PHP中数据计算的一些犯错的点进行整理,并给出解决方法,其中包括四舍五入、整数和小数相乘除和浮点数的怪异,有需要的朋友们可以参考借鉴。

一:四舍五入

1.round — 对浮点数进行四舍五入

float round ( float $val [, int $precision ] )

2:floor — 舍去法取整(向下取整)

float floor ( float $value )

3.ceil — 进一法取整(向上取整)

float ceil ( float $value )

坑点: 当数值为整数的时候 例如 11 那么floor(11) = 10  , ceil (11) =  12; 问题显而易见,所以计算的时候要格外注意这一点

解决方法 : floor(11 + 0.01);

二:整数和小数相乘除

坑点:3.5 * 100 = 300 ,就算你数学再好也没用,在php世界里这就是真理,如果用php的+-*/计算浮点数的时候,可能会遇到一些计算结果错误的问题,比如echo intval( 0.58*100 );会打印57,而不是58,这个其实是计算机底层二进制无法精确表示浮点数的一个bug,是跨语言的,我用python也遇到这个问题。所以基本上大部分语言都提供了精准计算的类库或函数库,比如php有BC高精确度函数库

解决方法:就是将整型变成浮点型 3.5 * (float)100 = 350

三:浮点数的怪异

坑点:8.50 – 8 = 0.500000001  其实原因和2差不多

解决方法:将结果进行round(),提高精度即可

总结

以上就是PHP数据计算的注意事项的全部内容,希望本文的内容在大家在PHP中进行数据计算的时候能有所帮助。

相关文章

  • php+MySQL判断update语句是否执行成功的方法

    php+MySQL判断update语句是否执行成功的方法

    这篇文章主要介绍了php+MySQL判断update语句是否执行成功的方法,可以通过mysql_affected_rows方法加以实现,需要的朋友可以参考下
    2014-08-08
  • php处理json格式数据经典案例总结

    php处理json格式数据经典案例总结

    这篇文章主要介绍了php处理json格式数据的方法,详细讲述了json格式数据的概念与用法,并结合经典案例总结分析了php操作json格式数据的常用技巧,需要的朋友可以参考下
    2016-05-05
  • PHP实现ftp上传文件示例

    PHP实现ftp上传文件示例

    这篇文章主要介绍了PHP实现ftp上传文件的方法,是非常实用的技巧,需要的朋友可以参考下
    2014-08-08
  • php5.5新数组函数array_column使用

    php5.5新数组函数array_column使用

    array_column 用于获取二维数组中的元素(PHP 5 >= 5.5.0),但我们有时候需要在低版本中使用,那么就可以使用下面的代码即可
    2013-07-07
  • 劣质的PHP代码简化

    劣质的PHP代码简化

    下面这一小段“劣质”的PHP代码是一道简化了的测试题。这种问题就像在问:你该怎样优化这段代码?
    2010-02-02
  • PHP APC的安装与使用详解

    PHP APC的安装与使用详解

    本篇文章是对PHP中APC的安装与使用进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP中include/require/include_once/require_once使用心得

    PHP中include/require/include_once/require_once使用心得

    include() 、require()语句包含并运行指定文件。这两结构在包含文件上完全一样,唯一的区别是对于错误的处理。require()语句在遇到包含文件不存在,或是出错的时候,就停止即行,并报错。include()则继续即行。
    2016-08-08
  • PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法

    PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法

    在本篇文章中小编给大家整理了关于PHP7导出Excel报ERR_EMPTY_RESPONSE的解决方法,需要的朋友们学习下。
    2019-04-04
  • ueditor 1.2.6 使用方法说明

    ueditor 1.2.6 使用方法说明

    以下文本是以php版本为例的,对ueditor 1.2.6的使用方法进行了详细的说明介绍,需要的朋友可以过来参考下
    2013-07-07
  • php设计模式  Command(命令模式)

    php设计模式 Command(命令模式)

    将一个请求封装为一个对象从而使你可用不同的请求对客户进行参数化,对请求排除或记录请求日志,以及支持可取消的操作
    2011-06-06

最新评论