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 相关文章推荐
如何将数据从文本导入到mysql
Oct 09 PHP
隐性调用php程序的方法
Mar 09 PHP
PHP 批量更新网页内容实现代码
Jan 05 PHP
php数组函数序列之array_unshift() 在数组开头插入一个或多个元素
Nov 07 PHP
php的SimpleXML方法读写XML接口文件实例解析
Jun 16 PHP
php中memcache 基本操作实例
May 17 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
Jan 04 PHP
PHP扩展框架之Yaf框架的安装与使用
May 18 PHP
postfixadmin忘记密码后的修改密码方法详解
Jul 20 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
May 23 PHP
解决laravel id非自增 模型取回为0 的问题
Oct 11 PHP
深入理解PHP+Mysql分布式事务与解决方案
Dec 03 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函数常用用法小结
2010/02/08 PHP
PHP输出日历表代码实例
2015/03/27 PHP
PHP安全下载文件的方法
2016/04/07 PHP
PHP数据对象映射模式实例分析
2019/03/29 PHP
使用Javascript和DOM Interfaces来处理HTML
2006/10/09 Javascript
一个加密JavaScript的开源工具PACKER2.0.2
2006/11/04 Javascript
js中字符替换函数String.replace()使用技巧
2011/08/14 Javascript
JS对HTML标签select的获取、添加、删除操作
2013/10/17 Javascript
客户端js判断文件类型和文件大小即限制上传大小
2013/11/20 Javascript
Javascript实现简单二级下拉菜单实例
2014/06/15 Javascript
JavaScript设计模式之单例模式实例
2014/09/24 Javascript
Bootstrap图片轮播组件使用实例解析
2016/06/30 Javascript
Google 地图事件实例讲解
2016/08/06 Javascript
详解Nodejs的timers模块
2016/12/22 NodeJs
详解vue数据渲染出现闪烁问题
2017/06/29 Javascript
Vue项目webpack打包部署到服务器的实例详解
2017/07/17 Javascript
面试题:react和vue的区别分析
2019/04/08 Javascript
Vue中的组件及路由使用实例代码详解
2019/05/22 Javascript
Python查看多台服务器进程的脚本分享
2014/06/11 Python
在Python中操作文件之read()方法的使用教程
2015/05/24 Python
windows环境下tensorflow安装过程详解
2018/03/30 Python
使用sklearn之LabelEncoder将Label标准化的方法
2018/07/11 Python
python爬虫获取百度首页内容教学
2018/12/23 Python
PyQt5下拉式复选框QComboCheckBox的实例
2019/06/25 Python
python3中rank函数的用法
2019/11/27 Python
Python3合并两个有序数组代码实例
2020/08/11 Python
使用Python实现NBA球员数据查询小程序功能
2020/11/09 Python
python读取图片颜色值并生成excel像素画的方法实例
2021/02/19 Python
使用HTML5捕捉音频与视频信息概述及实例
2018/08/22 HTML / CSS
英国旅行箱包和行李箱购物网站:Travel Luggage & Cabin Bags
2019/08/26 全球购物
大学活动邀请函
2014/01/28 职场文书
挂牌仪式主持词
2014/03/20 职场文书
合作协议书范本
2014/10/25 职场文书
人身损害赔偿协议书格式
2014/11/01 职场文书
2015年政治教研组工作总结
2015/07/22 职场文书
年中了,该如何写好个人述职报告?
2019/07/02 职场文书