如何判断c#中的两个double类型变量是否相等

gistop 2010-03-05 10:02:08
两个double类型变量A和B,其值有可能非常接近,按照道理来说Math.Abs(A-B)<非常小的数就可以判断是否相等,那么,c#中有表示最小非负数字的常量表示么(就像pi=3.14159这样的),还是非要弄个0.0000000001之类的
...全文
2013 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
vrhero 2010-03-05
  • 打赏
  • 举报
回复
引用 3 楼 anyqu 的回复:
正常来说IF (A==B)即可,如果对精确度有严格要求的话,那在赋值时就要保证不要被四舍五入掉!

正常啥?你没学过IEEE浮点数误差?两个double多数时候都不可能==...
may_beyond 2010-03-05
  • 打赏
  • 举报
回复
相减一下判断结果应该可以把。
whycom 2010-03-05
  • 打赏
  • 举报
回复
if(math.abs(a-b)<0.000001)
anyqu 2010-03-05
  • 打赏
  • 举报
回复
正常来说IF (A==B)即可,如果对精确度有严格要求的话,那在赋值时就要保证不要被四舍五入掉!
波导终结者 2010-03-05
  • 打赏
  • 举报
回复
换decimal
vrhero 2010-03-05
  • 打赏
  • 举报
回复
没有...因为可接受的精度是你自己定的,不是系统应该关心的...

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧