在VB6中使用Val()函数进行比较失败?
问题描述:
Dim HHs As String
HHs = Mid("2345", 1, 2)
If Val(HHs) > 23 Then
"Log the Error that needs to be logged"
End If
上述代码未通过验证。 这似乎是一个非常简单的问题 任何想法为什么?在VB6中使用Val()函数进行比较失败?
答
如果HHs
尚未声明(和你没有使用Option Explicit
),或者你还没有分配一个值HHs
,然后Val(HHs)
永远是0
....
因此,Val(HHs) > 23
将永远是False
。
看起来你可能犯了一个错字,并打算使用HHe
?
+0
嘿是的,这是一个打字错误。我编辑了这个问题。 – rohit
答
的代码按预期方式工作:如果条件为假,因为缬氨酸(HHS)为23。
Option Explicit
Private Sub CommandTest_Click()
Dim HHs As String
HHs = Mid("2345", 1, 2)
If Val(HHs) > 23 Then
MsgBox "Log the Error that needs to be logged"
End If
End Sub
哪里'MMs'分配??? –
'HHe'与'HHs'不同 - **总是**使用'Option Explicit',你将避免99次出现这些错误。 – ThunderFrame
'“记录需要记录的错误” '不是一个有效的陈述。你可能是指'Debug.Print“记录需要记录的错误”'或者''记录需要记录的错误'? – ThunderFrame