在百度知道上看到这么一个问题

var_dump((0.3-0.2)==0.1);

结果是:false

后来查查手册,原来是浮点数的精度问题。那么0.3-0.2-0.1等于多少呢,结果:2.7755575615629E-17

如果真的涉及到浮点数的比较,可以这样,设计一个精度,就可以比较了。

$ps = 2.7755575615629*pow(10,-16);
$_ps = -2.7755575615629*pow(10,-16);
$flags = "false";
if((0.3-0.2-0.1)<$ps&&(0.3-0.2-0.1)>$_ps)
{
$flags = "true";
}
echo "0.3-0.2==0.1 is $flags"

另外可以是gmp函数

那么上面的算式我们应该改写为
<?php
$a = 0.1;
$b = 0.7;
var_dump(bcadd($a,$b,2) == 0.8);
//true

最新文章

  1. RabbitMQ + PHP (二)AMQP拓展安装
  2. 【积累篇:他山之石,把玉攻】解决XP 系统 .Net Framework 4安装时出现严重错误 (0x80070643)
  3. JS获取屏幕高度(转)
  4. CSS3图片缩放
  5. 应用框架的设计与实现——.NET平台(10 授权服务.CodeAccessSecurityAttribute)
  6. hadoop-2.7.3 在windows环境下安装(无需Cygwin)
  7. C中如何调用C++函数、类内函数 \混编\链接
  8. HDNOIP201206施工方案
  9. 将单链表的每K个节点之间逆序
  10. java学习之内省
  11. 关于myeclipse8.6的优化设置
  12. [再寄小读者之数学篇](2014-06-20 求极限---Jordan 不等式的应用)
  13. 自己编写的Shell
  14. MySQL安装步骤详解
  15. 为什么CPU的主频止步于4GHz?
  16. centos7配置yum源
  17. 012-- mysql的分区和分表
  18. 【Gson】简介 文档 基本使用 示例
  19. Windows 10恢复Shift+右键打开命令提示符窗口
  20. 设置WebApi里面命名空间参数

热门文章

  1. eclipse提示servlet不存在 的解决办法
  2. 凯尔卡C68全球版汽车电脑诊断仪
  3. uva193 - Graph Coloring
  4. PL/pgSQL学习笔记之七
  5. cmd下运行PowerShell命令
  6. 配置Outlook Anywhere2010
  7. js日期计算及快速获取周、月、季度起止日
  8. C#基本线程同步
  9. Android学习之路
  10. AssetsManager下载类