Vb.net 我无法通过选择案例计算正确的数字
我试图得到折扣价格使用选择的情况下,但我一直得到正常的价格 我选择学生,点击瑜珈和私人教练选项,然后根据计算,我把11个月的费用加在76.50元月费上,总计841.50元,但我每月得到85元,总计935元。帮帮忙谢谢Vb.net 我无法通过选择案例计算正确的数字,vb.net,Vb.net,我试图得到折扣价格使用选择的情况下,但我一直得到正常的价格 我选择学生,点击瑜珈和私人教练选项,然后根据计算,我把11个月的费用加在76.50元月费上,总计841.50元,但我每月得到85元,总计935元。帮帮忙谢谢 Protected Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click Dim decMontlyFee As Decimal Dim
Protected Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
Dim decMontlyFee As Decimal
Dim decTotalFee As Decimal
Dim discount As Double
Dim intMonths As Integer
Dim decAdultFee As Decimal = 40
Dim decChildFee As Decimal = 20
Dim decStudentFee As Decimal = 25
Dim decSeniorFee As Decimal = 30
Dim decYogaFee As Decimal = 10
Dim decKarateFee As Decimal = 30
Dim decTrainerFee As Decimal = 50
If radAdult.Checked = True Then
decMontlyFee = decAdultFee
ElseIf radChild.Checked = True Then
decMontlyFee = decChildFee
ElseIf radStudent.Checked = True Then
decMontlyFee = decStudentFee
ElseIf radSenior.Checked = True Then
decMontlyFee = decSeniorFee
End If
If chkYoga.Checked = True Then
decMontlyFee += decYogaFee
End If
If chkTrainer.Checked = True Then
decMontlyFee += decTrainerFee
End If
If chkKarate.Checked = True Then
decMontlyFee += decKarateFee
End If
Select Case intMonths
Case Is <= 3
discount = 0
Case 4 To 6
discount = decMontlyFee * 0.05
Case 7 To 9
discount = decMontlyFee * 0.08
Case Is >= 10
discount = decMontlyFee * 0.1
End Select
decMontlyFee -= discount
decTotalFee = decMontlyFee * txtMonths.Text
lblMonthlyFee.Text = decMontlyFee.ToString("c")
lblTotalFee.Text = decTotalFee.ToString("c")
End Sub
End Class
受保护的子btnCalculate\u单击(发送方作为对象,e作为事件参数)处理btnCalculate。单击
Dim decMontlyFee作为十进制
Dim decTotalFee作为十进制
双倍折扣
将整数设为整数
十进制尺寸decAdultFee=40
十进制数=20的Dim decChildFee
Dim decStudentFee,十进制=25
以十进制表示的Dim DECER费用=30
十进制尺寸decYogaFee=10
尺寸decKarateFee为十进制=30
小数点后的学员人数=50
如果radAdult.Checked=True,则
decMontlyFee=decAdultFee
ElseIf radChild.Checked=True然后
decMontlyFee=decChildFee
ElseIf radStudent.Checked=则为真
十二月费=十二月学生费
ElseIf radSenior.Checked=则为真
十二月份费用=十二月份费用
如果结束
如果chkYoga.Checked=True,则
DeckmontlyFee+=Deckyogafee
如果结束
如果chkTrainer.Checked=True,则
decMontlyFee+=decMontlyFee实习生
如果结束
如果chkKarate.Checked=True,则
12月费用+=decKarateFee
如果结束
选择案例月份
情况是=10
折扣=12月费用*0.1
结束选择
12月费用-=折扣
decTotalFee=decMontlyFee*txtMonths.Text
lblmonthyFee.Text=decmonthyFee.ToString(“c”)
lblTotalFee.Text=decTotalFee.ToString(“c”)
端接头
末级
您需要读取intMonths的值,因为该值仅声明且未赋值。您需要读取intMonths的值,因为该值仅声明且未赋值。将intMonths
指定给文本框值。简化语法
Protected Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
Dim decMontlyFee As Decimal
Dim decTotalFee As Decimal
Dim intMonths As Integer = Integer.Parse(txtMonths.Text)
Dim decAdultFee As Decimal = 40
Dim decChildFee As Decimal = 20
Dim decStudentFee As Decimal = 25
Dim decSeniorFee As Decimal = 30
Dim decYogaFee As Decimal = 10
Dim decKarateFee As Decimal = 30
Dim decTrainerFee As Decimal = 50
decMontlyFee = If(radAdult.Checked, decAdultFee, decMontlyFee)
decMontlyFee = If(radChild.Checked, decChildFee, decMontlyFee)
decMontlyFee = If(radStudent.Checked, decStudentFee, decMontlyFee)
decMontlyFee = If(radSenior.Checked, decSeniorFee, decMontlyFee)
decMontlyFee += If(chkYoga.Checked, decYogaFee, 0)
decMontlyFee += If(chkTrainer.Checked, decTrainerFee, 0)
decMontlyFee += If(chkKarate.Checked, decKarateFee, 0)
Select Case intMonths
Case Is <= 3
decMontlyFee *= 1
Case 4 To 6
decMontlyFee *= 0.95
Case 7 To 9
decMontlyFee *= 0.92
Case Is >= 10
decMontlyFee *= 0.9
End Select
decTotalFee = decMontlyFee * intMonths
lblMonthlyFee.Text = decMontlyFee.ToString("c")
lblTotalFee.Text = decTotalFee.ToString("c")
End Sub
受保护的子btnCalculate\u单击(发送方作为对象,e作为事件参数)处理btnCalculate。单击
Dim decMontlyFee作为十进制
Dim decTotalFee作为十进制
Dim intMonths As Integer=Integer.Parse(txtmounts.Text)
十进制尺寸decAdultFee=40
十进制数=20的Dim decChildFee
Dim decStudentFee,十进制=25
以十进制表示的Dim DECER费用=30
十进制尺寸decYogaFee=10
尺寸decKarateFee为十进制=30
小数点后的学员人数=50
DeckmontlyFee=If(radAdult.Checked,decAdultFee,DeckmontlyFee)
DeckmontlyFee=If(radChild.Checked,DeckmontlyFee,DeckmontlyFee)
DeckmontlyFee=If(radStudent.Checked,DeckstudentFee,DeckmontlyFee)
DeckmontlyFee=如果(radSenior.Checked,DeckSeniorlyFee,DeckmontlyFee)
十二月份费用+=如果(chkYoga.Checked,DECHYOGAFEE,0)
12月费用+=如果(已检查的培训人员,12月培训人员,0)
12月费用+=如果(已检查,decKarateFee,0)
选择案例月份
情况是=10
12月费用*=0.9
结束选择
decTotalFee=decMontlyFee*intMonths
lblmonthyFee.Text=decmonthyFee.ToString(“c”)
lblTotalFee.Text=decTotalFee.ToString(“c”)
端接头
将您的intMonths
指定给文本框值。简化语法
Protected Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
Dim decMontlyFee As Decimal
Dim decTotalFee As Decimal
Dim intMonths As Integer = Integer.Parse(txtMonths.Text)
Dim decAdultFee As Decimal = 40
Dim decChildFee As Decimal = 20
Dim decStudentFee As Decimal = 25
Dim decSeniorFee As Decimal = 30
Dim decYogaFee As Decimal = 10
Dim decKarateFee As Decimal = 30
Dim decTrainerFee As Decimal = 50
decMontlyFee = If(radAdult.Checked, decAdultFee, decMontlyFee)
decMontlyFee = If(radChild.Checked, decChildFee, decMontlyFee)
decMontlyFee = If(radStudent.Checked, decStudentFee, decMontlyFee)
decMontlyFee = If(radSenior.Checked, decSeniorFee, decMontlyFee)
decMontlyFee += If(chkYoga.Checked, decYogaFee, 0)
decMontlyFee += If(chkTrainer.Checked, decTrainerFee, 0)
decMontlyFee += If(chkKarate.Checked, decKarateFee, 0)
Select Case intMonths
Case Is <= 3
decMontlyFee *= 1
Case 4 To 6
decMontlyFee *= 0.95
Case 7 To 9
decMontlyFee *= 0.92
Case Is >= 10
decMontlyFee *= 0.9
End Select
decTotalFee = decMontlyFee * intMonths
lblMonthlyFee.Text = decMontlyFee.ToString("c")
lblTotalFee.Text = decTotalFee.ToString("c")
End Sub
受保护的子btnCalculate\u单击(发送方作为对象,e作为事件参数)处理btnCalculate。单击
Dim decMontlyFee作为十进制
Dim decTotalFee作为十进制
Dim intMonths As Integer=Integer.Parse(txtmounts.Text)
十进制尺寸decAdultFee=40
十进制数=20的Dim decChildFee
Dim decStudentFee,十进制=25
以十进制表示的Dim DECER费用=30
十进制尺寸decYogaFee=10
尺寸decKarateFee为十进制=30
小数点后的学员人数=50
DeckmontlyFee=If(radAdult.Checked,decAdultFee,DeckmontlyFee)
DeckmontlyFee=If(radChild.Checked,DeckmontlyFee,DeckmontlyFee)
DeckmontlyFee=If(radStudent.Checked,DeckstudentFee,DeckmontlyFee)
DeckmontlyFee=如果(radSenior.Checked,DeckSeniorlyFee,DeckmontlyFee)
十二月份费用+=如果(chkYoga.Checked,DECHYOGAFEE,0)
12月费用+=如果(已检查的培训人员,12月培训人员,0)
12月费用+=如果(已检查,decKarateFee,0)
选择案例月份
情况是=10
12月费用*=0.9
结束选择
decTotalFee=decMontlyFee*intMonths
lblmonthyFee.Text=decmonthyFee.ToString(“c”)
lblTotalFee.Text=decTotalFee.ToString(“c”)
端接头
我已删除折扣=0,但仍然得到相同的结果,你是什么意思intmonths未设置我已删除折扣并添加decmontlyfee-=intmonths我已删除折扣=0,但仍然得到相同的结果,你是什么意思?我已经取消了折扣,加上了12月份的费用,所以它将是12月份的费用intMonths@Joe我的意思是,作为整数,这里你没有赋值,所以默认值是0,所以折扣是0,最初的价格是最终价格。我认为intmonths适用于select case,因为它正在使用months@Joe月数如何/在何处输入您的计算?将intMonths
的声明更改为Dim intMonths As Integer=Integer.Parse(txtmounts.Text)
因此它将是decMontlyFee-=intMonths@Joe我是说,将intMonths设置为整数,此处未指定任何值,因此默认值为0,因此折扣为0,最初的价格是最终价格。我认为intmonths适用于select case,因为它正在使用months@Joe月数如何/在何处输入您的计算?将intMonths
的声明更改为Dim intMonths As Integer=Integer.Parse(txtmounts.Text)
接受其他答案。我只是对你的代码做了一些改进。接受另一个答案。我是j