我完全理解为什么由于浮点导致0.1 + 0.2不等于0.3。在大多数编程语言中,0.1 + 0.2 == 0.3
是False
。
但是在Excel中if(0.1 + 0.2 == 0.3; 1; 0)
给出1
最佳答案
在Excel中发生这种情况的原因是因为Excel仅跟踪15位精度。 0.2 + 0.1的浮点运算结果为0.30000000000000004
,第4位为第17位。这意味着Excel会截断15号0之后的所有内容,并留下0.300000000000000
其中= 0.3
有关更多信息,请参见此处:https://en.wikipedia.org/wiki/Numeric_precision_in_Microsoft_Excel