您好我在vb.net中遇到大于小于函数的问题。它与正数一起完美无缺,但不适用于负数。这是我的代码,我希望这会有所帮助。
Dim A, B, input As Integer
A = (-38)
B = (-173)
txtD.Text = CStr(CInt(txtD.Text))
input = CInt(txtD.Text)
If input <= 32 < CInt(A) Then
txtR.Text = "Water will freeze and Oxygen will boil at this Temperature"
ElseIf input <= CInt(A) > CInt(B) Then
txtR.Text = "Water and Mercury will Freeze and Oxygen will boil at this temperature"
End If
答案 0 :(得分:0)
不幸的是,您的代码在语法上是错误的:
If input <= 32 < CInt(A) Then
txtR.Text = "Water will freeze and Oxygen will boil at this Temperature"
ElseIf input <= CInt(A) > CInt(B) Then
txtR.Text = "Water and Mercury will Freeze and Oxygen will boil at this temperature"
End If
需要包含其他语句,例如And
或Or
,这取决于您尝试实现的目标。
例如:
ElseIf input <= CInt(A) And input > CInt(B) Then
但是,根据设置为A
和B
的变量,这些变量不会评估为true。
作为补充说明:
txtD.Text = CStr(CInt(txtD.Text))
是一个毫无意义的陈述。
txtD.Text
返回一个字符串,因此无需将其转换为整数,然后是字符串然后将其分配给自身。只需删除它。
此外,A
和B
已经是整数,您不必使用CInt
将它们转换为整数。只需直接使用变量A
和B
即可。
答案 1 :(得分:0)
您需要And
加入您的条件。
像
这样的东西 If input <= 32 And 32 < CInt(A) Then
txtR.Text = "Water will freeze and Oxygen ..."
ElseIf input <= CInt(A) And CInt(A) > CInt(B) Then
txtR.Text = "Water and Mercury will Freeze and Oxygen will ..."
End If