当值等于0

时间:2018-05-30 20:19:01

标签: excel-vba vba excel

我有一个变量,Diff作为double。 (值是我的工作簿中的示例)

Dim Diff As Double
Sheets(Sheet1).Activate
Diff = 4382.98-4117.34-265.64

计算Diff的值来自格式化为数字的单元格。 然后我在一个if语句中使用Diff作为参数。

If Diff <> 0 Then
    ActiveSheet.Range(A2).Value = 265.64 + Diff
End If

Diff应该等于0,但if语句正在进行,就好像条件为真。我有类似的if语句没有这样的问题。我需要以不同方式格式化我的值吗?

编辑:有43892.98而不是4382.98 Edit2:有256.64而不是265.64

2 个答案:

答案 0 :(得分:0)

我存储了Diff As Currency而不是Double,问题已清除。

答案 1 :(得分:0)

  1. 从来没有, NE-VER比较公平的双倍!(浮点型的变量)
    甚至只是在脑海中 - 永远不要...... 你做对了 - 你的比较是&#34;&lt;&gt;&#34; - 你得到了正确的结果。

  2. 货币为INTEGER类型,即非浮点变量

    • 值,超过4位后,在内部进行四舍五入;
    • 权益比较是正确的