总结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 相关文章推荐
php trim 去除空字符的定义与语法介绍
May 31 PHP
如何判断php数组的维度
Jun 10 PHP
PHP中的函数-- foreach()的用法详解
Jun 24 PHP
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
Jun 26 PHP
php导出word文档与excel电子表格的简单示例代码
Mar 08 PHP
destoon实现底部添加你是第几位访问者的方法
Jul 15 PHP
php数组保存文本与文本反编成数组实例
Nov 13 PHP
PHP下载远程文件到本地存储的方法
Mar 24 PHP
详解PHP+AJAX无刷新分页实现方法
Nov 03 PHP
PHP文件与目录操作示例
Dec 24 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
Aug 30 PHP
PHP实现创建以太坊钱包转账等功能
Apr 21 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下利用header()函数设置浏览器缓存的代码
2010/09/01 PHP
PHP 基于文件头的文件类型验证类函数
2012/05/01 PHP
探讨如何在PHP开启gzip页面压缩实例
2013/06/09 PHP
mcrypt启用 加密以及解密过程详细解析
2013/08/07 PHP
解决CodeIgniter伪静态失效
2014/06/09 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
2016/12/29 PHP
使用Codeigniter重写insert的方法(推荐)
2017/03/23 PHP
PHP小白必须要知道的php基础知识(超实用)
2017/10/10 PHP
DOM 基本方法
2009/07/18 Javascript
js中判断控件是否存在
2010/08/25 Javascript
JavaScript 图像动画的小demo
2012/05/23 Javascript
如何让div span等元素能响应键盘事件操作指南
2012/11/13 Javascript
浅谈jquery回调函数callback的使用
2015/01/30 Javascript
jQuery实现鼠标滑过点击事件音效试听
2015/08/31 Javascript
js导出excel文件的简洁方法(推荐)
2016/11/02 Javascript
Node.JS枚举统计当前文件夹和子目录下所有代码文件行数
2019/08/23 Javascript
Vue.js下拉菜单组件使用方法详解
2019/10/19 Javascript
Python利用pyHook实现监听用户鼠标与键盘事件
2014/08/21 Python
Linux 发邮件磁盘空间监控(python)
2016/04/23 Python
Python SqlAlchemy动态添加数据表字段实例解析
2018/02/07 Python
Flask web开发处理POST请求实现(登录案例)
2018/07/26 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
2018/10/22 Python
Form表单及django的form表单的补充
2019/07/25 Python
python 如何调用远程接口
2020/09/11 Python
戴森美国官网:Dyson美国
2016/09/11 全球购物
京东港澳售:京东直邮港澳台
2018/01/31 全球购物
美国在线旅行社:Crystal Travel
2018/09/11 全球购物
Nike比利时官网:Nike.com (BE)
2019/02/07 全球购物
汽车维修与检测专业应届生求职信
2013/11/12 职场文书
企业总经理岗位职责
2014/02/13 职场文书
党员公开承诺书内容
2014/05/20 职场文书
运动会方阵口号
2014/06/07 职场文书
入党后的感想
2015/08/10 职场文书
在redisCluster中模糊获取key方式
2021/07/09 Redis
java设计模式--原型模式详解
2021/07/21 Java/Android
nginx sticky实现基于cookie负载均衡示例详解
2022/12/24 Servers