总结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的特殊设置
Oct 09 PHP
PHP 检查扩展库或函数是否可用的代码
Apr 06 PHP
基于php下载文件的详解
Jun 02 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
Jun 18 PHP
php后门URL的防范
Nov 12 PHP
php不使用插件导出excel的简单方法
Mar 04 PHP
ThinkPHP空模块和空操作详解
Jun 30 PHP
php递归法读取目录及文件的方法
Jan 30 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 PHP
详解PHP中的外观模式facade pattern
Feb 05 PHP
php使用pecl方式安装扩展操作示例
Aug 12 PHP
如何重写Laravel异常处理类详解
Dec 20 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
在apache下限制每个虚拟主机的并发数!!!!
2006/10/09 PHP
根据分辨率不同,调用不同的css文件
2006/08/25 Javascript
javascript实现playfair和hill密码算法
2014/12/07 Javascript
jQuery中fadeOut()方法用法实例
2014/12/24 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
2015/03/26 Javascript
深入理解Java线程编程中的阻塞队列容器
2015/12/07 Javascript
jQuery.deferred对象使用详解
2016/03/18 Javascript
详解Angular.js的$q.defer()服务异步处理
2016/11/06 Javascript
bootstrap实现动态进度条效果
2017/03/08 Javascript
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
2017/06/13 Javascript
基于vue打包后字体和图片资源失效问题的解决方法
2018/03/06 Javascript
React Native使用fetch实现图片上传的示例代码
2018/03/07 Javascript
浅谈Webpack下多环境配置的思路
2018/06/27 Javascript
Angular5中状态管理的实现
2018/09/03 Javascript
vue-cli基础配置及webpack配置修改的完整步骤
2019/10/20 Javascript
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
2015/05/22 Python
python脚本设置系统时间的两种方法
2016/02/21 Python
python数字图像处理之高级滤波代码详解
2017/11/23 Python
解决python执行不输出系统命令弹框的问题
2019/06/24 Python
python 实现二维字典的键值合并等函数
2019/12/06 Python
基于Tensorflow批量数据的输入实现方式
2020/02/05 Python
Python爬取微信小程序Charles实现过程图解
2020/09/29 Python
html5 canvas 简单画板实现代码
2012/01/05 HTML / CSS
Java文件和目录(IO)操作
2014/08/26 面试题
公司年会晚宴演讲稿
2014/01/06 职场文书
党员学习十八大感想
2014/01/17 职场文书
优秀党支部书记事迹材料
2014/05/29 职场文书
公安局副政委班子个人对照检查材料
2014/10/04 职场文书
2014年英语教学工作总结
2014/12/17 职场文书
五年级下册复习计划
2015/01/19 职场文书
幼儿园欢迎词范文
2015/01/26 职场文书
八月一日观后感
2015/06/10 职场文书
解决pycharm安装scrapy DLL load failed:找不到指定的程序的问题
2021/06/08 Python
python脚本框架webpy的url映射详解
2021/11/20 Python
Win11安全功能升级:内置防网络钓鱼功能
2022/04/08 数码科技
JS前端轻量fabric.js系列之画布初始化
2022/08/05 Javascript