2015/6/29描述:在各种语言中,由于遵循了浮点数标准,导致在"浮点数判等"使用"==!="都是错误的措施:目前看到的都是floatNum1-floatNum2>一个精度标准,如果把浮点数转换为int(int判等很简单),则会引起许多意料之外的"隐式转换"错误.前一种则让人感觉不完美.难道没有完美的解决方案吗?StackOverFlow相关问题
2 回答
暮色呼如
TA贡献1853条经验 获得超9个赞
楼上的答案已经很明确了,没有。当然,如果你是在Mathematica中编程,那么实数可以判相等。。举个简单的例子吧,ln(e)在数学上是等于1的,但是如果用计算机来算,e是近似的,ln的计算也是近似的(不然要么存无限位数要么计算无限的时间),因此结果当然是近似的,肯定不等于1,所以需要设定一个误差。你可以用python输出一下0.1+0.2看看结果。。。。
添加回答
举报
0/150
提交
取消