在Excel中0.2 + 0.1如何等于0.3?

Met*_*iat 3 floating-point excel

我完全理解为什么由于浮点数导致0.1 + 0.2不等于0.3。在大多数编程语言中,0.1 + 0.2 == 0.3False

但在Excel中if(0.1 + 0.2 == 0.3; 1; 0)给出1

tig*_*tar 6

在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