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

最近在开发一个合同管理系统的时候,涉及到两个浮点数比较,算是把我郁闷惨了。

在N久以前,就不晓得从哪里听来的一个“不要用等号去比较浮点数”的“真理”,自己平时也在用,好像没有出现啥问题,可这次问题总算是来了。

$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,小数位)来比较。

$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比较float大小,PHP中两个float(浮点数)比较实例分析相关推荐

  1. python asyncio教程_python中使用asyncio实现异步IO实例分析

    1.说明 Python实现异步IO非常简单,asyncio是Python 3.4版本引入的标准库,直接内置了对异步IO的支持. asyncio的编程模型就是一个消息循环.我们从asyncio模块中直接 ...

  2. python怎么处理数据_python中scrapy处理项目数据的实例分析

    在我们处理完数据后,习惯把它放在原有的位置,但是这样也会出现一定的隐患.如果因为新数据的加入或者其他种种原因,当我们再次想要启用这个文件的时候,小伙伴们就会开始着急却怎么也翻不出来,似乎也没有其他更好 ...

  3. java商城项目中多线程执行_java多线程中执行多个程序的实例分析

    我们知道多线程因为同时处理子线程的能力,对于程序运行来说,能够达到很高的效率.不过很多人对于多线程的执行方法还没有尝试过,本篇我们将为大家介绍创建线程的方法,在这个基础上,对程序执行多条命令的方法进行 ...

  4. Android Studio中的RecyclerView的使用方法实例分析

    RecyclerView的使用方法实例分析 话不多说直接上代码 主文件的布局文件,定义一个RecyclerView列表 <?xml version="1.0" encodin ...

  5. java时间戳类型如何比较大小_JAVA中两个String类型的时间戳怎么样比较大小?

    1.从数据库里面获得的时间戳是String类型的,要与当前时间比较,判断登陆是否过期 生成一long类型的当前时间,把String类型强制转换成long类型报错,代码如下: long currentT ...

  6. java比较时间戳大小_JAVA中两个String类型的时间戳怎么样比较大小?

    1.从数据库里面获得的时间戳是String类型的,要与当前时间比较,判断登陆是否过期 生成一long类型的当前时间,把String类型强制转换成long类型报错,代码如下: long currentT ...

  7. mysql 两列数据互换_mysql 实现互换表中两列数据方法简单实例

    由于最近项目,有这样一个需求,是把数据库中的两列数据互换,经过好久才搞定,这里写个简单实例,做过记录. 1.创建表及记录用于测试 CREATE TABLE `product` ( `id` int(1 ...

  8. css中float问题,列表中的css float问题

    我有一个问题排序,基本上它将是一个带有图标和文字的列表.图标大小保持不变,但文本没有,如图片alt文本http://i34.tinypic.com/33op84m.jpg(http://i34.tin ...

  9. C/C++中对链表操作的理解实例分析

    链表概述 链表是一种常见的重要的数据结构.它是动态地进行存储分配的一种结构.它可以根据需要开辟内存单元.链表有一个"头指针"变量,以head表示,它存放一个地址.该地址指向一个元素 ...

最新文章

  1. 八数码问题及A*算法
  2. thttpd+php 不加载php.ini 问题
  3. 计算机音乐乐谱再也没有,再也没有简谱-Ryan.B/杨佬叁演唱-孙世彦制谱
  4. Spring框架IOC和AOP的实现原理
  5. 统计单词数(信息学奥赛一本通-T1400)
  6. 解决ubuntu18.04中python兼容以及pip兼容问题
  7. hdu 2594(kmp)
  8. android8.0及发布时间,android 8.0什么时候发布_android 8.0发布时间_android 8.0新特性
  9. 用Python爬取淘宝2000款套套
  10. hibernate数据库扫描实体类的配置
  11. java creat sql,java 实体类 生成 create sql
  12. camtasia喀秋莎2022(屏幕录像课件制作工具)
  13. 中国蟹养殖和捕捞现状分析,淡水养殖产量占比最高「图」
  14. 专业词汇及解释(持续更新,自用)
  15. 神马搜索广告怎么投放?神马广告投放产品介绍!
  16. 在aspx页面显示一张完整的RDL报表
  17. mysql 从库跳过1062_3分钟解决MySQL 1062 主从错误
  18. 半导体物理-固体晶格结构
  19. weiphp2.0:关于OneThink后台添加密码重置的功能
  20. android移动支付——微信支付

热门文章

  1. 用 Ruby 买卖Bitcoin: 闪兑交易所 Exincore
  2. typescript 接口 interface
  3. C# 将string 转换为二维码图片,然后转为base64字符串编码 。
  4. 10K入职linux运维岗位小伙伴感谢信及面试经历分享
  5. Tasker文件夹说明
  6. Introduction of Open CASCADE Foundation Classes
  7. 在MOSS 2007中查看文档库和站点的大小
  8. 神经网路语言模型(NNLM)的理解
  9. C# Socket系列二 简单的创建 socket 通信
  10. sql with as 用法