|
|
|
|
| 15+9.87 = 24.869999999999997 ??? |
 15+9.87 = 24.869999999999997 ??? - wsf [ 2005-05-19 18:37 | 41 byte(s)]
 Re: 15+9.87 = 24.869999999999997 ??? - nzy [ 2005-05-26 17:47 | 187 byte(s)]
 Re: 15+9.87 = 24.869999999999997 ??? - passworld [ 2005-05-26 19:58 | 322 byte(s)]
 Re: 15+9.87 = 24.869999999999997 ??? - alula [ 2005-05-27 09:12 | 113 byte(s)]
 Re: 15+9.87 = 24.869999999999997 ??? - IPOz [ 2005-05-21 11:05 | 28 byte(s)]
 Re: 15+9.87 = 24.869999999999997 ??? - limodou [ 2005-05-19 20:44 | 28 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
|
这就要看你的实际情况了!可以使用limodou兄的办法,的确安全但是个人感觉比较烦!我的解决办法是:24.87 -(15 + 9.87) < 0.00001,你也可以把零继续增加到你能接受的程度!哈哈,懒人有懒办法
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
计算机里符点数是不能比较相等的,比较相等是程序错误。
这不是懒办法,符点运算里必须要注意这个问题,这是2进制表达符点的先天缺陷,C也一样。比较一个可容忍值是标准做法。写个小函数查证相等:
DELTA=0.1**5
def feq(a, b): return abs(a - b) < DELTA
|
|
|
----
|
|
[Original]
[Print]
[Top]
|
|
|