总结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文章内容分页并生成相应的htm静态页面代码
Jun 07 PHP
php下清空字符串中的HTML标签的代码
Sep 06 PHP
PHP中去除换行解决办法小结(PHP_EOL)
Nov 27 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
Jun 20 PHP
php 根据url自动生成缩略图并处理高并发问题
Jan 23 PHP
PHP中round()函数对浮点数进行四舍五入的方法
Nov 19 PHP
php微信公众开发之获取周边酒店信息的方法
Dec 22 PHP
php实现微信公众号无限群发
Oct 11 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
Mar 23 PHP
php生成验证码,缩略图及水印图的类分享
Apr 07 PHP
PHP实现登陆表单提交CSRF及验证码
Jan 24 PHP
php传值和传引用的区别点总结
Nov 19 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
163的邮件用phpmailer发送(实例详解)
2013/06/24 PHP
php简单截取字符串代码示例
2016/10/19 PHP
PHP如何根据文件头检测文件类型实例代码
2018/10/14 PHP
jquery获取URL中参数解决中文乱码问题的两种方法
2013/12/18 Javascript
JavaScript输出当前时间Unix时间戳的方法
2015/04/06 Javascript
jQuery实现带滚动导航效果的全屏滚动相册实例
2015/06/19 Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
2015/09/27 Javascript
jQuery实例—选项卡的简单实现(js源码和jQuery)
2016/06/14 Javascript
javascript基础知识之html5轮播图实例讲解(44)
2017/02/17 Javascript
bootstrap table 多选框分页保留示例代码
2017/03/08 Javascript
vue 2.0路由之路由嵌套示例详解
2017/05/08 Javascript
微信小程序之页面拦截器的示例代码
2017/09/07 Javascript
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
2018/04/12 jQuery
Vue中控制v-for循环次数的实现方法
2018/09/26 Javascript
JavaScript查看代码运行效率console.time()与console.timeEnd()用法
2019/01/18 Javascript
vue移动端城市三级联动组件使用详解
2019/07/26 Javascript
微信小程序实现时间戳格式转换
2020/07/20 Javascript
Python中文件操作简明介绍
2015/04/13 Python
使用wxPython获取系统剪贴板中的数据的教程
2015/05/06 Python
使用Python & Flask 实现RESTful Web API的实例
2017/09/19 Python
详解Python学习之安装pandas
2019/04/16 Python
TensorFlow 读取CSV数据的实例
2020/02/05 Python
五种Python转义表示法
2020/11/27 Python
HTML5 Canvas之测试浏览器是否支持Canvas的方法
2015/01/01 HTML / CSS
纯HTML5+CSS3制作生日蛋糕(代码易懂)
2016/11/16 HTML / CSS
阿提哈德航空官方网站:Etihad Airways
2017/01/06 全球购物
瑞典多品牌连锁店:Johnells
2021/01/13 全球购物
当当网软件测试笔试题
2015/11/24 面试题
仓库门卫岗位职责
2013/12/22 职场文书
个人对照检查材料
2014/02/12 职场文书
顶碗少年教学反思
2014/02/21 职场文书
土木工程师职业规划范文
2014/03/07 职场文书
银行优秀员工事迹材料
2014/05/29 职场文书
2014年平安创建工作总结
2014/11/24 职场文书
酒店工程部的岗位职责汇总大全
2019/10/23 职场文书
《悬崖边的树》读后感2篇
2019/12/02 职场文书