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语法(5)
Oct 09 PHP
PHP数组 为文章加关键字连接 文章内容自动加链接
Dec 29 PHP
浅谈PHP强制类型转换,慎用!
Jun 06 PHP
CodeIgniter图像处理类的深入解析
Jun 17 PHP
解析php php_openssl.dll的作用
Jul 01 PHP
Yii使用ajax验证显示错误messagebox的解决方法
Dec 03 PHP
php实现通用的信用卡验证类
Mar 24 PHP
详解php设置session(过期、失效、有效期)
Nov 12 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
PHP实现二维数组中的查找算法小结
Jun 09 PHP
php+layui数据表格实现数据分页渲染代码
Oct 26 PHP
swoole锁的机制代码实例讲解
Mar 04 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
php开发工具有哪五款
2015/11/09 PHP
Laravel框架自定义验证过程实例分析
2019/02/01 PHP
TP5框架请求响应参数实例分析
2019/10/17 PHP
HTA版JSMin(省略修饰语若干)基于javascript语言编写
2009/12/24 Javascript
javaScript中with函数用法实例分析
2015/06/08 Javascript
JavaScript获取浏览器信息的方法
2015/11/20 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件包装
2015/11/20 Javascript
JavaScript编写带旋转+线条干扰的验证码脚本实例
2016/05/30 Javascript
JavaScript之WebSocket技术详解
2016/11/18 Javascript
Angularjs中的ui-bootstrap的使用教程
2017/02/19 Javascript
vue实现简单的MVVM框架
2018/08/05 Javascript
小程序实现列表多个批量倒计时
2021/01/29 Javascript
Element-ui自定义table表头、修改列标题样式、添加tooltip、:render-header使用
2019/04/11 Javascript
layui table 表格模板按钮的实例代码
2019/09/21 Javascript
Vue 实现一个命令式弹窗组件功能
2019/09/25 Javascript
Javascript异步编程async实现过程详解
2020/04/02 Javascript
浅析JavaScript预编译和暗示全局变量
2020/09/03 Javascript
javascript使用正则表达式实现注册登入校验
2020/09/23 Javascript
用Python进行一些简单的自然语言处理的教程
2015/03/31 Python
python字典DICT类型合并详解
2017/08/17 Python
Python数据结构与算法之图的基本实现及迭代器实例详解
2017/12/12 Python
在交互式环境中执行Python程序过程详解
2019/07/12 Python
解决pandas展示数据输出时列名不能对齐的问题
2019/11/18 Python
学python最电脑配置有要求么
2020/07/05 Python
奥地利顶级内衣丝袜品牌英国站:Wolford英国
2016/08/29 全球购物
美国百年历史早餐食品供应商:Wolferman’s
2017/01/18 全球购物
Ivory Isle Designs美国/加拿大:婚礼和活动文具公司
2018/08/21 全球购物
实习医生自我评价
2013/09/22 职场文书
捐款倡议书范文
2014/02/02 职场文书
三月学雷锋活动总结
2014/06/26 职场文书
求职意向书
2014/07/29 职场文书
开服装店计划书
2014/08/15 职场文书
公司聚餐通知
2015/04/22 职场文书
水浒传读书笔记
2015/06/25 职场文书
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
2021/05/17 Python
Python使用海龟绘图实现贪吃蛇游戏
2021/06/18 Python