PHP中两个float(浮点数)比较实例分析


Posted in PHP onSeptember 27, 2015

本文实例讲述了PHP中两个float(浮点数)比较方法。分享给大家供大家参考。具体如下:

最近在开发一个合同管理系统的时候,涉及到两个浮点数比较,算是把我郁闷惨了。
在N久以前,就不晓得从哪里听来的一个“不要用等号去比较浮点数”的“真理”,自己平时也在用,好像没有出现啥问题,可这次问题总算是来了。

<?php
$sum = "12300.00";
$a  = "10000.30";
$b  = "2000.30";
$c  =  "299.40";
$sum = (float) $sum;
$s = (float) ($a+$b+$c);
var_dump($sum, $s);
var_dump($sum==$s);

结果是:

float(12300)
float(12300)
bool(false)

后来才知道在PHP中,要比较两个浮点数的大小,可以用bccomp(参数1,参数2,小数位)来比较。

<?php
$sum = "12300.00";
$a  = "10000.30";
$b  = "2000.30";
$c  =  "299.40";
$sum = (float) $sum;
$s = (float) ($a+$b+$c);
var_dump($sum, $s);
var_dump(bccomp($sum,$s,2));

结果:

float(12300)
float(12300)
int(0) // 0表示两个浮点数值相等

bccomp函数具体用法可参考PHP手册。

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

PHP 相关文章推荐
用PHP创建PDF中文文档
Oct 09 PHP
用PHP实现WEB动态网页静态
Oct 09 PHP
php项目打包方法
Feb 18 PHP
解析php常用image图像函数集
Jun 24 PHP
JoshChen_web格式编码UTF8-无BOM的小细节分析
Aug 16 PHP
php发送get、post请求的6种方法简明总结
Jul 08 PHP
yii实现图片上传及缩略图生成的方法
Dec 04 PHP
详解PHP中的状态模式编程
Aug 11 PHP
php readfile下载大文件失败的解决方法
May 22 PHP
PHP实现正则匹配所有括号中的内容
Jun 22 PHP
php-fpm中max_children的配置
Mar 15 PHP
PHP字符串中抽取子串操作实例分析
Jun 22 PHP
用php代码限制国内IP访问我们网站
Sep 26 #PHP
十大使用PHP框架的理由
Sep 26 #PHP
PHP弹出对话框技巧详细解读
Sep 26 #PHP
ThinkPHP2.x防范XSS跨站攻击的方法
Sep 25 #PHP
ThinkPHP在Cli模式下使用模板引擎的方法
Sep 25 #PHP
腾讯CMEM的PHP扩展编译安装方法
Sep 25 #PHP
PHP生成随机字符串(3种方法)
Sep 25 #PHP
You might like
无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
2011/07/18 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
2014/06/13 PHP
基于Laravel 5.2 regex验证的正确写法
2019/09/29 PHP
window.onload 加载完毕的问题及解决方案(上)
2009/07/09 Javascript
jQuery中获取checkbox选中项等操作及注意事项
2013/11/24 Javascript
jquery选择器之属性过滤选择器详解
2014/01/27 Javascript
JavaScript程序员应该知道的45个实用技巧
2014/03/04 Javascript
JS回调函数的应用简单实例
2014/09/17 Javascript
jQuery中replaceWith()方法用法实例
2014/12/25 Javascript
JavaScript学习笔记之创建对象
2016/03/25 Javascript
JavaScript是如何实现继承的(六种方式)
2016/03/31 Javascript
Backbone.js框架中Model与Collection的使用实例
2016/05/07 Javascript
jQuery Mobile操作HTML5的常用函数总结
2016/05/17 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
2016/05/25 Javascript
详解如何实现一个简单的Node.js脚手架
2017/12/04 Javascript
js 图片转base64的方式(两种)
2018/04/24 Javascript
layui的表单提交以及验证和修改弹框的实例
2019/09/09 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
2019/11/23 Javascript
浅析JavaScript 函数柯里化
2020/09/08 Javascript
微信小程序实现身份证取景框拍摄
2020/09/09 Javascript
python操作oracle的完整教程分享
2018/01/30 Python
python爬虫爬取某站上海租房图片
2018/02/04 Python
Python之关于类变量的两种赋值区别详解
2020/03/12 Python
python在地图上画比例的实例详解
2020/11/13 Python
Python实现迪杰斯特拉算法并生成最短路径的示例代码
2020/12/01 Python
html5 sessionStorage会话存储_动力节点Java学院整理
2017/07/06 HTML / CSS
Giuseppe Zanotti美国官方网站:将鞋履视为高级时装般精心制作
2018/02/06 全球购物
美赞臣营养马来西亚旗舰店:Enfagrow马来西亚
2019/07/26 全球购物
社团活动策划书范文
2014/01/09 职场文书
教师党的群众路线对照检查材料
2014/09/24 职场文书
中学生打架检讨书
2014/10/13 职场文书
2015年学校德育工作总结
2015/04/22 职场文书
幼儿园六一儿童节开幕词
2016/03/04 职场文书
2019奶茶店创业计划书范本!
2019/07/15 职场文书
vue-cli4.5.x快速搭建项目
2021/05/30 Vue.js
postgresql如何找到表中重复数据的行并删除
2023/05/08 MySQL