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


Posted in PHP onAugust 14, 2016

一:四舍五入

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 相关文章推荐
初识laravel5
Mar 02 PHP
php实现发送微信模板消息的方法
Mar 07 PHP
PHP输出日历表代码实例
Mar 27 PHP
PHP内存使用情况如何获取
Oct 10 PHP
thinkphp3.2.3 分页代码分享
Jul 28 PHP
zend框架实现支持sql server的操作方法
Dec 08 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
Sep 21 PHP
PHP实现字符串大小写转函数的功能实例
Feb 06 PHP
在thinkphp5.0路径中实现去除index.php的方式
Oct 16 PHP
php-7.3.6 编译安装过程
Feb 11 PHP
open_basedir restriction in effect. 原因与解决方法
Mar 14 PHP
PHP 对接美团大众点评团购券(门票)的开发步骤
Apr 03 PHP
示例详解Laravel的注册重构
Aug 14 #PHP
PHP实现路由映射到指定控制器
Aug 13 #PHP
Yii2.0中的COOKIE和SESSION用法
Aug 12 #PHP
PHP Oauth授权和本地加密实现方法
Aug 12 #PHP
PHP 读取大文件并显示的简单实例(推荐)
Aug 12 #PHP
PHPWind9.0手动屏蔽验证码解决后台关闭验证码但是依然显示的问题
Aug 12 #PHP
PHP请求Socket接口测试实例
Aug 12 #PHP
You might like
如何在PHP中使用Oracle数据库(6)
2006/10/09 PHP
php中mysql连接方式PDO使用详解
2015/02/25 PHP
PHP环境搭建的详细步骤
2016/06/30 PHP
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势
2017/11/08 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
JavaScript 常见对象类创建代码与优缺点分析
2009/12/07 Javascript
往光标所在位置插入值的js代码
2013/09/22 Javascript
jQuery$命名冲突怎么办如何解决
2014/01/16 Javascript
JavaScript的Backbone.js框架入门学习指引
2016/05/07 Javascript
浅谈js中子页面父页面方法 变量相互调用
2016/08/04 Javascript
js 动态生成json对象、时时更新json对象的方法
2016/12/02 Javascript
简单理解js的prototype属性及使用
2016/12/07 Javascript
微信小程序 scroll-view实现上拉加载与下拉刷新的实例
2017/01/21 Javascript
JS设置时间无效问题的解决办法
2017/02/18 Javascript
javascript基于定时器实现进度条功能实例
2017/10/13 Javascript
微信小程序 scroll-view实现锚点滑动的示例
2017/12/06 Javascript
vue源码学习之Object.defineProperty 对数组监听
2018/05/30 Javascript
微信小程序常用赋值方法小结
2019/04/30 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
2020/06/06 jQuery
[03:09]DOTA2亚洲邀请赛 LGD战队出场宣传片
2015/02/07 DOTA
使用py2exe在Windows下将Python程序转为exe文件
2016/03/04 Python
Python用zip函数同时遍历多个迭代器示例详解
2016/11/14 Python
Numpy数组的保存与读取方法
2018/04/04 Python
Python中函数参数匹配模型详解
2019/06/09 Python
用python求一重积分和二重积分的例子
2019/12/06 Python
Python自动化xpath实现自动抢票抢货
2020/09/19 Python
python基于pexpect库自动获取日志信息
2021/02/01 Python
大学新生军训个人的自我评价
2013/10/03 职场文书
服务员岗位责任制
2014/02/11 职场文书
爱国演讲稿500字
2014/05/04 职场文书
市级优秀班主任事迹材料
2014/05/13 职场文书
鲁迅故里导游词
2015/02/05 职场文书
党支部审查意见
2015/06/02 职场文书
交通安全宣传标语(100条)
2019/08/22 职场文书
mysql查询的控制语句图文详解
2021/04/11 MySQL
python实现图片批量压缩
2021/04/24 Python