【发布时间】:2016-04-02 00:42:12
【问题描述】:
好的,所以我一直在编写我正在制作的程序,并且由于某种原因,当我将一些代码放入 else if 语句时,它根本不会运行该语句,即使是原始的 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
可能是语法错误,但它根本没有出现错误,完美地运行代码等等。我不知道我在这里做错了什么。
【问题讨论】:
-
工作代码中,不满足if条件,进入else语句。在非工作代码中,既不满足 if 条件也不满足 else if 条件,因此不执行任何代码。我敢肯定,在您方面进行一些额外的调试工作将解决此问题。我通常在条件中添加一些括号/括号来分隔条件。
-
您实际上想要实现什么?只需解释您的要求....
-
@wingedpanther 好的,基本上,它计算的方向不同,这只是其中的 2 个,其中 2 个需要添加,所以我总共需要 3 个 elseif 语句,但不仅仅是 1 个,而是这是一个展示,因为代码不起作用。总而言之,它们是程序扫描的不同方向,然后设置计算优先级并计算它们,但似乎 else if 分解代码并且没有任何效果。
-
@MattJ 试试hastebin.com/igicorarax.vbs
-
@wingedpanther jesus 非常感谢你,你是最棒的,顺便说一下 & 怎么不起作用?
标签: vb.net