根据某人想要衣服上有多少条纹计算总成本

Calculating a total cost based on how many stripes someone wants on their clothes

我正在努力做到这一点,如果有人想要在他们的短裤上有 3 个或更少的条纹,则在一条短裤的 5.50 基本成本之上,每条条纹的成本为 50 美分,然后在第三条成本之后的每个条纹每个2欧元。如果他们选择 3 或更少,它会起作用,但一旦我输入超过 3 的任何条纹数量,它只会显示短裤的基本 5.50 成本。不知道该怎么做任何帮助表示感谢。

我已经正确声明了所有变量,我认为问题出在下面的代码上

   'calculate cost of Shorts
    If mskShortStripes.Text <= 3 Then
        dblTotalShorts += CDbl(mskShorts.Text * 5.5) + (mskShortStripes.Text * 0.5)
    ElseIf mskShortStripes.Text > 3 Then
        dblTotalShorts += CDbl(mskShorts.Text * 5.5) + (mskShortStripes.Text <= 3 * 0.5) + (mskShortStripes.Text > 3 * 2)

    End If

您直接将 .Text 属性 当作数字使用是自找麻烦。它不是。当您的控件中的值实际上不是数字时,有趣的事情就会发生。

使用Integer.TryParse将该字符串转换为数字:

Dim numberOfStripes As Integer
If Integer.TryParse(mskShortStripes.Text, numberOfStripes) Then
    If numberOfStripes >= 0 Then

        ' ... now do some math in here with the "numberOfStripes" variable ...

    Else
        MessageBox.Show("Number of Stripes can't be negative!")
    End If
Else
    MessageBox.Show("Invalid Number of Stripes!")
End If