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 相关文章推荐
第八节--访问方式
Nov 16 PHP
JS实现php的伪分页
May 25 PHP
php获取数组中重复数据的两种方法
Jun 28 PHP
在PHP上显示JFreechart画的统计图方法
Nov 03 PHP
PHP命令行脚本接收传入参数的三种方式
Aug 20 PHP
php通过array_merge()函数合并两个数组的方法
Mar 18 PHP
Zend Framework教程之路由功能Zend_Controller_Router详解
Mar 07 PHP
php中this关键字用法分析
Dec 07 PHP
深入讲解PHP的对象注入(Object Injection)
Mar 01 PHP
php取出数组单个值的方法
Mar 12 PHP
Smarty模板配置实例简析
Jul 20 PHP
PHP的new static和new self的区别与使用
Nov 27 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
正则表达式语法
2006/10/09 Javascript
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
2012/05/06 PHP
PHP根据IP判断地区名信息的示例代码
2014/03/03 PHP
php+MySql实现登录系统与输出浏览者信息功能
2016/07/01 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
浅谈laravel5.5 belongsToMany自身的正确用法
2019/10/17 PHP
js实现ASP分页函数 HTML分页函数
2006/09/22 Javascript
js不是基础的基础
2006/12/24 Javascript
在修改准备发的批量美化select+可修改select时,在非IE下发现了几个问题
2007/01/09 Javascript
JS声明变量背后的编译原理剖析
2012/12/28 Javascript
jquery foreach使用示例
2013/09/12 Javascript
jquery的clone方法应用于textarea和select的bug修复
2014/06/26 Javascript
javascript中this指向详解
2016/04/23 Javascript
深入理解node exports和module.exports区别
2016/06/01 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
2017/09/10 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
Vue下路由History模式打包后页面空白的解决方法
2018/06/29 Javascript
如何在 JavaScript 中更好地利用数组
2018/09/27 Javascript
Vue+Java 通过websocket实现服务器与客户端双向通信操作
2020/09/22 Javascript
Python+OpenCV人脸检测原理及示例详解
2020/10/19 Python
python并发和异步编程实例
2018/11/15 Python
matplotlib实现区域颜色填充
2019/03/18 Python
Python学习笔记之Zip和Enumerate用法实例分析
2019/08/14 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
2020/06/18 Python
python 偷懒技巧——使用 keyboard 录制键盘事件
2020/09/21 Python
仿CSDN Blog返回页面顶部功能实现原理及代码
2013/06/30 HTML / CSS
中专毕业生求职简历的自我评价
2013/10/21 职场文书
中专生的个人自我评价
2013/12/11 职场文书
优秀的毕业生的自我评价
2013/12/12 职场文书
应聘护理专业毕业自荐书范文
2014/02/12 职场文书
面试自我介绍演讲稿
2014/04/29 职场文书
神龙架导游词
2015/02/11 职场文书
个人借条范本
2015/05/25 职场文书
贷款收入证明格式
2015/06/24 职场文书
初中语文教学反思范文
2016/03/03 职场文书
linux下导入、导出mysql数据库命令的实现方法
2021/05/26 MySQL