我正在开发一种工具,它可以获取商品的价格和销售数量(按用户输入)。如果数量为50或更多,买家可获得20%的折扣。 49或以下的任何东西都是10%。 当前代码返回0
Private Sub btnCalc_Click(sender As Object, e As EventArgs) Handles btnCalc.Click
Dim a, b As Integer
a = txtPrice.Text
b = txtQuantity.Text
If b >50 Then b = 0.2
If b <50 Then b = 0.1
lblTotal.Text = (a * b) / 100
End Sub
我想我可能有百分比错误?希望有人可以/将会有所帮助。
答案 0 :(得分:0)
您的逻辑似乎有些偏差,并且在计算之前您将覆盖b
的值。假设(我可能错了)你想要订单折扣后的总价,试试这个:
Dim price As Integer
Dim quantity As Double
price = CInt(txtPrice.Text)
quantity = CDbl(txtQuantity.Text)
If quantity > = 50 Then
lblTotal.Text = ((price * quantity) * 0.8).ToString()
Else
lblTotal.Text = ((price * quantity) * 0.9).ToString()
End If
这里有几点需要注意。
首先,我在文本框中使用了CInt
和CDbl
。 VB.NET将(取决于你的选项)允许这个,但它的不良形式是习惯于允许编译器转换值(从文本框中的字符串转换为int / double / decimal)并且会导致如果你转向像C#或Java这样的强类型语言,你会感到头痛。
其次,我使用0.8来获得20%的折扣(因为实际上他们获得了80%的折扣)和0.9%的10%折扣。如果不是您需要相应地调整公式,则此计算假设折扣不在订单总数中。
答案 1 :(得分:0)
Private Sub btnCalc_Click(sender As Object, e As EventArgs) Handles btnCalc.Click
Dim a, b As Integer
a = txtPrice.Text
b = txtQuantity.Text
If b >=50 Then b = 0.2
If b <50 Then b = 0.1
lblTotal.Text = (a * b) / 100
End Sub
'需要将“(a * b)/ 100”改为“a - (a * b)”