总结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 相关文章推荐
杏林同学录(八)
Oct 09 PHP
php 无限分类的树类代码
Dec 03 PHP
二招解决php乱码问题
Mar 25 PHP
php防注入,表单提交值转义的实现详解
Jun 10 PHP
使用php计算排列组合的方法
Nov 13 PHP
PHP将XML转数组过程详解
Nov 13 PHP
简单实用的PHP防注入类实例
Dec 05 PHP
PHP判断IP并转跳到相应城市分站的方法
Mar 25 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
Feb 15 PHP
PHP单文件上传原理及上传函数的封装操作示例
Sep 02 PHP
PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
Dec 31 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 和 XML: 使用expat函数(三)
2006/10/09 PHP
Dedecms常用函数解析
2008/02/01 PHP
php的array数组和使用实例简明教程(容易理解)
2014/03/20 PHP
PHP5.4起内置web服务器使用方法
2016/08/09 PHP
基于 Swoole 的微信扫码登录功能实现代码
2018/01/15 PHP
PHP设计模式之模板模式定义与用法详解
2018/12/20 PHP
PHP基于timestamp和nonce实现的防止重放攻击方案分析
2019/07/26 PHP
PHP+Redis事务解决高并发下商品超卖问题(推荐)
2020/08/03 PHP
jQuery EasyUI API 中文文档 - ComboBox组合框
2011/10/07 Javascript
三种动态加载js的jquery实例代码另附去除js方法
2014/04/30 Javascript
纯js实现仿QQ邮箱弹出确认框
2015/04/29 Javascript
Jquery幻灯片特效代码分享--鼠标点击按钮时切换(1)
2015/08/15 Javascript
使用PHP+JavaScript将HTML页面转换为图片的实例分享
2016/04/18 Javascript
jquery树形菜单效果的简单实例
2016/06/06 Javascript
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
2017/01/24 Javascript
jQuery动态生成不规则表格(前后端)
2017/02/21 Javascript
win系统下nodejs环境安装配置
2017/05/04 NodeJs
ES6新增数据结构WeakSet的用法详解
2017/08/07 Javascript
详解vue-cli 构建Vue项目遇到的坑
2017/08/30 Javascript
使用vue-router设置每个页面的title方法
2018/02/11 Javascript
微信小程序实现获取准确的腾讯定位地址功能示例
2019/03/27 Javascript
js判断浏览器的环境(pc端,移动端,还是微信浏览器)
2020/12/24 Javascript
vue 通过base64实现图片下载功能
2020/12/19 Vue.js
Python实现批量下载图片的方法
2015/07/08 Python
python装饰器与递归算法详解
2016/02/18 Python
使用pandas读取csv文件的指定列方法
2018/04/21 Python
Python socket非阻塞模块应用示例
2019/09/12 Python
Series和DataFrame使用简单入门
2019/11/13 Python
pytorch forward两个参数实例
2020/01/17 Python
python设置表格边框的具体方法
2020/07/17 Python
python opencv pytesseract 验证码识别的实现
2020/08/28 Python
pycharm 代码自动补全的实现方法(图文)
2020/09/18 Python
什么是托管函数?托管函数有什么用?
2014/06/15 面试题
最美孝心少年事迹材料
2014/08/15 职场文书
代领报检证委托书范本
2014/10/11 职场文书
村主任当选感言
2015/08/01 职场文书