我正在工作的工具,采取价格的项目和数量被出售(由用户输入)。如果数量是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我想我可能搞错了吗?希望有人能/愿意帮忙。
发布于 2014-11-12 01:49:10
您的逻辑似乎有点错误,在计算它之前,您正在覆盖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将允许这样做(取决于您的选项),但是如果您习惯于允许编译器转换值(从textbox中的字符串转换到int/double/十进制之类的),那么如果您迁移到强类型语言(如C#或Java ),您会感到头疼。
其次,我用0.8作为20%的折扣(因为实际上他们得到的是80%的折扣)和0.9的10%的折扣。这个计算假设折扣在订单总数之外,如果不是,您需要相应地调整公式。
发布于 2014-11-12 01:49:24
蒂姆搞定了。谢谢蒂姆。
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)“”
https://stackoverflow.com/questions/26877769
复制相似问题