PHP浮点比较大小的方法


Posted in PHP onFebruary 14, 2016

本文实例讲述了PHP浮点比较大小的方法。分享给大家供大家参考,具体如下:

<?php
/**
 * 浮点数一般是不能用来比较大小的,但是我们可以用一种变通的的方式
 * 用var_dump输出浮点是看不出效果的,可以用serialize查看
 * 1.round 2.浮点转换成字符串
 *
 * 转换成字符串方法:
 * 通过在其前面加上(string)或用strval()函数来转变成 字符串
 * 在一个需要字符串的表达式中,字符串会自动转变,比如在使用函数 echo() 或 print() 时, 或在一个变量和一个 字符串 进行比较时,就会发生这种转变
 * true会转为1 , 而false则会转为空字符串
 *
 */
$a = 13.2;
$b = 24;
$c = $a/$b;
//实际值是这个d:0.54999999999999993338661852249060757458209991455078125;
echo serialize($c).'<br/>';//
echo $c.'<br/>';//输出时会显示成0.55 实际的值是比他小的
//所以直接和0.55比较大小是不成立的
if($c == 0.55){
  echo 'nothing';
}
$c = round($c,2);
//用round处理
if($c == 0.55){
  echo 'ok';
}
echo "<br/>";
//强制转为字符串
// $c = (string)$c;
// $c = strval($c);
if("$c" == 0.55){
  echo 'ok';
}
?>

运行结果如下:

d:0.54999999999999993338661852249060757458209991455078125;
0.55
ok
ok

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
聊天室php&amp;mysql(五)
Oct 09 PHP
php Memcache 中实现消息队列
Nov 24 PHP
PHP执行zip与rar解压缩方法实现代码
Dec 05 PHP
解决PHP超大文件下载,断点续传下载的方法详解
Jun 06 PHP
解析PHP处理换行符的问题 \r\n
Jun 13 PHP
AJAX的跨域访问-两种有效的解决方法介绍
Jun 22 PHP
PHP仿博客园 个人博客(2) 数据库增添改删
Jul 05 PHP
ThinkPHP查询中的魔术方法简述
Jun 25 PHP
PHP的pcntl多进程用法实例
Mar 19 PHP
CI框架表单验证实例详解
Nov 21 PHP
PHP处理bmp格式图片的方法分析
Jul 04 PHP
PHP判断是否是微信打开,浏览器打开的方法
Mar 14 PHP
PHP魔术方法使用方法汇总
Feb 14 #PHP
PHP函数超时处理方法
Feb 14 #PHP
PHP使用file_get_content设置头信息的方法
Feb 14 #PHP
PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
Feb 14 #PHP
PHP缓冲区用法总结
Feb 14 #PHP
PHP二维数组排序简单实现方法
Feb 14 #PHP
php的闭包(Closure)匿名函数初探
Feb 14 #PHP
You might like
php代码运行时间查看类代码分享
2011/08/06 PHP
分享PHP计算两个日期相差天数的代码
2015/12/23 PHP
php抽奖概率算法(刮刮卡,大转盘)
2020/04/17 PHP
javascript 触发事件列表 比较不错
2009/09/03 Javascript
JQuery1.4+ Ajax IE8 内存泄漏问题
2010/10/15 Javascript
jquery获取特定name所有选中的checkbox,支持IE9标准模式
2013/03/18 Javascript
nodejs教程 安装express及配置app.js文件的详细步骤
2013/05/11 NodeJs
JQuery控制Radio选中方法分析
2015/05/29 Javascript
javascript实现点击提交按钮后显示loading的方法
2015/07/03 Javascript
jQuery简单实现两级下拉菜单效果代码
2015/09/15 Javascript
js实现滚动条滚动到页面底部继续加载
2015/12/19 Javascript
js中最容易被忽视的事件问题大总结
2016/05/15 Javascript
JS中事件冒泡和事件捕获介绍
2016/12/13 Javascript
详解Python中logging日志模块在多进程环境下的使用
2016/12/26 Javascript
详解vuelidate 对于vueJs2.0的验证解决方案
2017/03/09 Javascript
详解vue.js移动端导航navigationbar的封装
2017/07/05 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
2018/08/21 jQuery
JS画布动态实现黑客帝国背景效果
2020/11/08 Javascript
[04:19]完美世界携手游戏风云打造 卡尔工作室模型介绍篇
2013/04/24 DOTA
[32:30]夜魇凡尔赛茶话会 第一期01:谁是卧底
2021/03/11 DOTA
Python 开发Activex组件方法
2009/11/08 Python
PyQt4实现下拉菜单可供选择并打印出来
2018/04/20 Python
python实现守护进程、守护线程、守护非守护并行
2018/05/05 Python
python使用gdal对shp读取,新建和更新的实例
2020/03/10 Python
Django models文件模型变更错误解决
2020/05/11 Python
python raise的基本使用
2020/09/10 Python
django使用channels实现通信的示例
2020/10/19 Python
详解Sticky Footer 绝对底部的两种套路
2017/11/03 HTML / CSS
CSS3 二级导航菜单的制作的示例
2018/04/02 HTML / CSS
白兰氏健康Mall:BRAND’S
2017/11/13 全球购物
英国现代绅士品牌:Hackett
2017/12/17 全球购物
西班牙香水和化妆品购物网站:Arenal Perfumerías
2019/03/01 全球购物
消防安全宣传标语
2014/06/07 职场文书
党的群众路线教育实践活动对照检查材料思想汇报
2014/09/19 职场文书
Mysql 如何实现多张无关联表查询数据并分页
2021/06/05 MySQL
微软官方消息,在 2023 年 4 月 11 日之后微软将不再为 Office 2013 和 Skype for Business 2015 提供安全更新
2022/04/21 数码科技