总结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 相关文章推荐
基于Snoopy的PHP近似完美获取网站编码的代码
Oct 23 PHP
自定义php类(查找/修改)xml文档
Mar 26 PHP
深入php self与$this的详解
Jun 08 PHP
php中ltrim()、rtrim()与trim()删除字符空格实例
Nov 25 PHP
php操作xml入门之cdata区段
Jan 23 PHP
PHP实现上传文件并存进数据库的方法
Jul 16 PHP
PHP中filter函数校验数据的方法详解
Jul 31 PHP
Laravel5.1自定义500错误页面示例
Oct 09 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
Oct 18 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
Dec 21 PHP
php使用imagecopymerge()函数创建半透明水印
Jan 25 PHP
thinkphp集成前端脚手架Vue-cli的教程图解
Aug 30 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
ezSQL PHP数据库操作类库
2010/05/16 PHP
PHP 错误处理机制
2015/07/06 PHP
PHP+ajax分页实例简析
2015/12/07 PHP
理解PHP中的Session及对Session有效期的控制
2016/01/08 PHP
PHP开发制作一个简单的活动日程表Calendar
2016/06/20 PHP
php学习笔记之mb_strstr的基本使用
2018/02/03 PHP
详解如何实现Laravel的服务容器的方法示例
2019/04/15 PHP
Gambit vs CL BO3 第一场 2.13
2021/03/10 DOTA
Mootools 1.2教程 滑动效果(Slide)
2009/09/15 Javascript
jquery 插件学习(四)
2012/08/06 Javascript
jquery.hotkeys监听键盘按下事件keydown插件
2014/05/11 Javascript
PHP+MySQL+jQuery随意拖动层并即时保存拖动位置实例讲解
2015/10/09 Javascript
jQuery购物网页经典制作案例
2016/08/19 Javascript
Ajax使用原生态JS验证用户名是否存在
2020/05/26 Javascript
Bootstrap框架实现广告轮播效果
2016/11/28 Javascript
使用 vue 实例更好的监听事件及vue实例的方法
2019/04/22 Javascript
微信小程序实现用table显示数据库反馈的多条数据功能示例
2019/05/07 Javascript
使用JS来动态操作css的几种方法
2019/12/18 Javascript
easyUI使用分页过滤器对数据进行分页操作实例分析
2020/06/01 Javascript
基于ant design日期控件使用_仅月份的操作
2020/10/27 Javascript
[01:00:49]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第二场 1月31日
2021/03/11 DOTA
Python max内置函数详细介绍
2016/11/17 Python
matlab中实现矩阵删除一行或一列的方法
2018/04/04 Python
matplotlib事件处理基础(事件绑定、事件属性)
2021/02/03 Python
英国最大的电脑零售连锁店集团:PC World
2016/10/10 全球购物
英国最大的香水商店:The Fragrance Shop
2018/07/06 全球购物
Columbia Sportswear法国官网:全球户外品牌
2020/09/25 全球购物
水产养殖学应届生求职信
2013/09/29 职场文书
法院干警四风问题自我剖析材料
2014/09/29 职场文书
个人租房协议书(范本)
2014/10/14 职场文书
2014年标准化工作总结
2014/12/17 职场文书
公司租车协议书
2015/01/29 职场文书
综合素质评价思想道德自我评价
2015/03/09 职场文书
暂停营业通知
2015/04/25 职场文书
小学六年级班主任工作经验交流材料
2015/11/02 职场文书
2016教师年度考核评语大全
2015/12/01 职场文书