Vb.net 为什么if语句只返回第二个结果?

Vb.net 为什么if语句只返回第二个结果?,vb.net,Vb.net,我的计算是可行的,但每次运行程序时,我的输出将是“负,不超过”的结果。我对这一切都很陌生,所以请你给我一些建议 Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim foodname As String = MaskedTextBox1.Text Dim calories As Integer = Ma

我的计算是可行的,但每次运行程序时,我的输出将是“负,不超过”的结果。我对这一切都很陌生,所以请你给我一些建议

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim foodname As String = MaskedTextBox1.Text
        Dim calories As Integer = MaskedTextBox2.Text
        Dim fat As Integer = MaskedTextBox3.Text
        Dim calculation As Double = (fat * 9) / calories
        Dim positive As String = "which exceeds AHA recommendation"
        Dim negative As String = "which does not exceed AHA recommendation"
        ListBox1.Items.Clear()

        If ((fat * 9) / calories) > (0.3 * 100) Then
            ListBox1.Items.Add(foodname & " contains " & FormatPercent(calculation) & " calories from fat, " & positive)
        ElseIf ((fat * 9) / calories) < (0.29 * 100) Then
            ListBox1.Items.Add(foodname & " contains " & FormatPercent(calculation) & " calories from fat, " & negative)
        End If
    End Sub
End Class
公共类表单1
私有子按钮1\u单击(发送者作为对象,e作为事件参数)处理按钮1。单击
Dim foodname As String=MaskedTextBox1.Text
Dim carries As Integer=MaskedTextBox2.Text
Dim fat As Integer=MaskedTextBox3.Text
Dim计算为双精度=(脂肪*9)/卡路里
Dim正值为String=“超过AHA建议值”
Dim negative As String=“不超过AHA建议值”
ListBox1.Items.Clear()
如果((脂肪*9)/卡路里)>(0.3*100),那么
ListBox1.Items.Add(食品名称和“内含物”和格式百分比(计算)和“来自脂肪的卡路里”和正值)
ElseIf((脂肪*9)/卡路里)<(0.29*100)那么
ListBox1.Items.Add(食品名称和“内含物”和格式百分比(计算)和“来自脂肪的卡路里”和负数)
如果结束
端接头
末级
这有帮助吗

    If ((fat * 9) / calories) > (0.3 * 100) Then
        ListBox1.Items.Add(foodname & " contains " & FormatPercent(calculation) & " calories from fat, " & positive)
    Else
        ListBox1.Items.Add(foodname & " contains " & FormatPercent(calculation) & " calories from fat, " & negative)
    End If

这里只有两个选项,不需要两个条件。第一个为真,或者必须是第二个

除了冗余之外,对于原始代码,如果
(fat*9)/Carries)
的计算结果介于29和30之间,则不会执行任何分支。