VB ElseIf声明仅限于1

时间:2016-06-12 11:22:59

标签: vb.net if-statement

我被大学强迫在Visual Studio(Basic)中执行应用程序,之前我从未使用过这种语言,所以我感到很困惑。我做了If声明正在发挥作用,然后我添加了EleseIf这也有效,但在我添加了第二ElseIf之后它无法正常工作。似乎只有If语句和第一个ElseIf对我有效,但我需要的不只是1 ElseIf语句。

Public Class receipt
Private Sub receipt_Load(sender As Object, e As EventArgs) Handles Me.Load
    Dim outputValue As Decimal = My.Settings.outputamount.Remove(4)
    Dim calculation As Decimal = outputValue * My.Settings.inputamount
    Dim totalwithoutcharge As String = calculation.ToString
    customername.Text = "Name: " + My.Settings.Username
    Label6.Text = "Entered Money: " + My.Settings.inputamount + " " + My.Settings.currency
    Label7.Text = "Converted To: " + totalwithoutcharge + " " + My.Settings.outputcurrency

    If calculation < 100 Then
        Label8.Text = "Charge: 0%"
        Label9.Text = "Total: " + totalwithoutcharge + " " + My.Settings.outputcurrency
    ElseIf calculation > 100 Then
        Label8.Text = "Charge: 1%"
        Label9.Text = "Total: " + totalwithoutcharge + " " + My.Settings.outputcurrency
    ElseIf calculation > 500 Then
        Label8.Text = "Charge: 2%"
        Label9.Text = "Total: " + totalwithoutcharge + " " + My.Settings.outputcurrency
    ElseIf calculation > 1000 Then
        Label8.Text = "Charge: 3%"
        Label9.Text = "Total: " + totalwithoutcharge + " " + My.Settings.outputcurrency
    Else
        Label8.Text = "Something went wrong"
    End If
End Sub 
End Class

我已经输入了很多超过600的价值,而且仍在显示&#39;充电:1%&#39;它应该显示2%而不是。如果值高于1000,则仍会显示1%。但是当该值低于100时,则表示正常,并显示0%。

Over 100 works fine too Over 500 doesn't work

我也尝试过这两个条件,它会考虑范围,但它也不起作用。 我尝试了ElseIf计算&gt; 100&计算&gt; 500然后&#39;但没有区别。

2 个答案:

答案 0 :(得分:2)

首先使用&amp;集中字符串时代替+。 第二,如果计算是> 500它也大于100,200等。所以你需要实现一个范围。所以想想逻辑。

答案 1 :(得分:0)

根据我的评论

    If calculation >= 1000 Then

    ElseIf calculation >= 500 Then

    ElseIf calculation >= 100 Then

    Else
        'lass than 100
    End If