i具有以下公式;=BYROW(SEQUENCE(30; 0.01; 0,01); LAMBDA(n; MOD(n; 0,03)=0. Excel返回{,,TRUE,}虽然我会期望{,,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,,TRUE,,TRUE,,TRUE}我在哪里犯了一个错误?请帮助(我有更多的数组公式返回意外的结果,我可能使用lambda错误)最好,
ewm0tg9j1#
我假设您所在的区域设置中逗号是小数点。你不能用浮点数做精确的比较。数字0.01和0.03不能用二进制精确表示,所以你得到的是非常接近的近似值。你做的算术越多,积累的误差就越小。你应该用整数来做算术,然后把结果除以100。
0.01
0.03
1条答案
按热度按时间ewm0tg9j1#
我假设您所在的区域设置中逗号是小数点。
你不能用浮点数做精确的比较。数字
0.01
和0.03
不能用二进制精确表示,所以你得到的是非常接近的近似值。你做的算术越多,积累的误差就越小。你应该用整数来做算术,然后把结果除以100。