(若是和其他不同软件互动之问题 请记得一并填写)
软件:Excel
版本:2007
其实我只是很简单再写一个资料检测公式
(函数知道的不多 所以都用简单的运算式做资料检测整理)
意外发现一个Bug
A1=0.07
B1=A1*100
C1=ROUND(A1*100,0)
D1=B1-C1
E1=IF(D1=0,"Y","N")
F1=IF((B1-C1)=0,"Y","N")
理论上 E1跟F1储存格应该得到一样的答案
但是E1得到的是Y F1得到的是N
然后只有某些数字会有这样的bug
A1= 0.07 0.14 0.28 0.29 0.55~0.58等.....
若是A1= 0.007 B1跟C1皆是乘上1000也不会有这样的问题
这个bug最后是不影响我的资料整理(改写乘上1000就解决了...)
只是对这个Bug感到无比疑惑....="=
有爬文查到 "浮点算术中的进位误差" 这个Bug
但我也不知道是不是能用来解释我遇到的这个问题
有人有解吗?