为了账号安全,请及时绑定邮箱和手机立即绑定

"浮点数判等"完美的解决方案吗?

"浮点数判等"完美的解决方案吗?

HUX布斯 2019-04-13 08:36:04
2015/6/29描述:在各种语言中,由于遵循了浮点数标准,导致在"浮点数判等"使用"==!="都是错误的措施:目前看到的都是floatNum1-floatNum2>一个精度标准,如果把浮点数转换为int(int判等很简单),则会引起许多意料之外的"隐式转换"错误.前一种则让人感觉不完美.难道没有完美的解决方案吗?StackOverFlow相关问题
查看完整描述

2 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

楼上的答案已经很明确了,没有。
当然,如果你是在Mathematica中编程,那么实数可以判相等。。
举个简单的例子吧,ln(e)在数学上是等于1的,但是如果用计算机来算,e是近似的,ln的计算也是近似的(不然要么存无限位数要么计算无限的时间),因此结果当然是近似的,肯定不等于1,所以需要设定一个误差。
你可以用python输出一下0.1+0.2看看结果。。。。
                            
查看完整回答
反对 回复 2019-04-13
  • 2 回答
  • 0 关注
  • 491 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信