好的,我一直在做一个程序,由于某种原因,当我把一些代码放入一个else语句中时,它根本不会运行这个语句,甚至连原始的if语句都不会运行,但是当我将它放入一个普通的If和else语句中时,它会非常完美地工作。
这段代码起作用:
If TextBox5.Text > TextBox1.Text & TextBox6.Text > TextBox2.Text Then 'NE
Bearing = Atan(X2 / Y2) * 57.3
Else
Bearing = Atan(Y2 / X2) * 57.3
Bearing = Bearing + -Bearing + -Bearing + 90
If BOFF > 0 Then
Bearing = Bearing - Math.Round(BOFF)
Else
Bearing = Bearing + Math.Round(BOFF)
End If
End If这段代码不起作用:
If TextBox5.Text > TextBox1.Text & TextBox6.Text > TextBox2.Text Then 'NE
Bearing = Atan(X2 / Y2) * 57.3
ElseIf TextBox5.Text > TextBox1.Text & TextBox6.Text < TextBox2.Text Then
Bearing = Atan(Y2 / X2) * 57.3
Bearing = Bearing + -Bearing + -Bearing + 90
If BOFF > 0 Then
Bearing = Bearing - Math.Round(BOFF)
Else
Bearing = Bearing + Math.Round(BOFF)
End If
End If可能是语法错误什么的,但是它根本没有出现错误,它完美地运行了代码以及所有这些。我不知道我做错了什么。
发布于 2015-12-28 07:29:08
您应该使用AND而不是&
AND是逻辑运算符,而&则用于连接字符串。
它既是合乎逻辑的,也是按位和运算符的。如果两个操作数都为真,则条件变为真。这个运算符不执行短路,也就是说,它计算两个表达式.
If TextBox5.Text > TextBox1.Text And TextBox6.Text > TextBox2.Text Then 'NE
'Code
ElseIf TextBox5.Text > TextBox1.Text And TextBox6.Text < TextBox2.Text Then
'Code
End If注意:
如果TextBox1.Text =4,TextBox6.Text=1的值,那么TextBox1.Text & TextBox6.Text将产生41
参见此demo
&用于连接两个字符串。
https://stackoverflow.com/questions/34488887
复制相似问题