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 组件化编程技巧
Jun 06 PHP
DW中链接mysql数据库时,建立字符集中文出现乱码的解决方法
Mar 27 PHP
PHP项目开发中最常用的自定义函数整理
Dec 02 PHP
PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
May 07 PHP
PHP中Session可能会引起并发问题
Jun 26 PHP
PHP中使用array函数新建一个数组
Nov 19 PHP
PHP mysql事务问题实例分析
Jan 18 PHP
php实现图片上传时添加文字和图片水印技巧
Apr 18 PHP
微信公众号模板消息群发php代码示例
Dec 29 PHP
PHP单例模式与工厂模式详解
Aug 29 PHP
PHP implode()函数用法讲解
Mar 08 PHP
PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例
Jun 12 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 ckeditor上传图片文件名乱码解决方法
2013/11/15 PHP
PHP统计当前在线用户数实例讲解
2015/10/21 PHP
CI框架整合smarty步骤详解
2016/05/19 PHP
使用JQuery进行跨域请求
2010/01/25 Javascript
用JavaScript仿PS里的羽化效果代码
2011/12/20 Javascript
Javascript遍历table中的元素示例代码
2014/07/08 Javascript
分享JavaScript与Java中MD5使用两个例子
2015/12/23 Javascript
jQuery+canvas实现的球体平抛及颜色动态变换效果
2016/01/28 Javascript
JS实现简单的右下角弹出提示窗口完整实例
2016/06/21 Javascript
漂亮实用的页面loading(加载)封装代码
2017/02/03 Javascript
基于vue2的table分页组件实现方法
2017/03/20 Javascript
Angular 表单控件示例代码
2017/06/26 Javascript
vue click.stop阻止点击事件继续传播的方法
2018/09/04 Javascript
ES6基础之解构赋值(destructuring assignment)
2019/02/21 Javascript
JavaScript实现简易计算器小功能
2020/10/22 Javascript
[01:11]回顾历届DOTA2国际邀请赛中国区预选赛
2017/06/26 DOTA
win7安装python生成随机数代码分享
2013/12/27 Python
在Python中利用Into包整洁地进行数据迁移的教程
2015/03/30 Python
浅谈Python爬取网页的编码处理
2016/11/04 Python
Python对字符串实现去重操作的方法示例
2017/08/11 Python
python 设置文件编码格式的实现方法
2017/12/21 Python
python 2.7.14安装图文教程
2018/04/08 Python
pytorch: tensor类型的构建与相互转换实例
2018/07/26 Python
python中多个装饰器的调用顺序详解
2019/07/16 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
Python笔试面试题小结
2019/09/07 Python
Python关键字及可变参数*args,**kw原理解析
2020/04/04 Python
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
电子商务专业个人的自我评价
2013/12/19 职场文书
留学生如何写好自荐信
2013/12/27 职场文书
幼儿园中班教师寄语
2014/04/03 职场文书
激励员工的口号
2014/06/16 职场文书
单位工作证明格式模板
2014/10/04 职场文书
汽车销售员岗位职责
2015/04/11 职场文书
python神经网络 使用Keras构建RNN训练
2022/05/04 Python
Apache SeaTunnel实现 非CDC数据抽取
2022/05/20 Servers