在宏编码中,我检查的是不等于条件。值是十进制或整数,现在我比较两个值的十进制值,但没有得到正确的结果。请指导我什么东西应该添加得到正确的结果?
If fld4 <> fldval Then MsgBox "....." End If
但消息的输出显示为以下值:
fld4 = 0.25, fldval = 0.26 fld4 = 0.25, fldval = 0.25 fld4 = 0.14, fldval = 0.14 fld4 = 0.11, fldval = 0.11
从来没有(!)直接比较浮点值。最好这样做:
eps = =.00001 'choose an appropriate epsilon If Abs(fld4- fldval)<eps Then '...
Look here 更多信息。