我正在使用Visual Basic 2010并尝试使用单选按钮计算十进制数量。
第一个单选按钮是声明的常量,表示服务的成本。
第二组单选按钮用于折扣金额。
我遇到的问题是返回的值,无论选择什么折扣按钮,都是第一个if语句的值。
我觉得我应该使用案例陈述,不幸的是,我使用的书对案例陈述含糊不清。
感谢您抽出宝贵时间阅读我的问题。
If MakeoverRadioButton1.Checked + Discount10RadioButton5.Checked Then
CostSelectedService1 = Makeover_Decimal - (Makeover_Decimal * 0.1)
AmountSelectedServiceLabel3.Text = CostSelectedService1.ToString("C")
ElseIf MakeoverRadioButton1.Checked + Discount20RadioButton6.Checked Then
CostSelectedService2 = Makeover_Decimal - (Makeover_Decimal * 0.2)
AmountSelectedServiceLabel3.Text = CostSelectedService2.ToString("C")
ElseIf MakeoverRadioButton1.Checked + NoDiscountRadioButton7.Checked Then
CostSelectedService = Makeover_Decimal
AmountSelectedServiceLabel3.Text = CostSelectedService.ToString("C")
End If
答案 0 :(得分:2)
你可能意味着这个:
If MakeoverRadioButton1.Checked AndAlso Discount10RadioButton5.Checked Then
作为旁注,似乎您的成本和折扣彼此无关。在这种情况下,您应该可以使用两个单独的If...ElseIf
或Select Case
来剪切它。否则,您正在寻找 n * m If
语句,这很难维护。
如果您需要更具体的建议和代码示例,请详细说明您目前拥有哪些单选按钮以及它应该如何工作(包括屏幕截图)。
答案 1 :(得分:0)
简化为:
' the default
CostSelectedService = Makeover_Decimal
AmountSelectedServiceLabel3.Text = CostSelectedService.ToString("C")
If MakeoverRadioButton1.Checked AndAlso Discount10RadioButton5.Checked Then
CostSelectedService1 -= (Makeover_Decimal * 0.1)
ElseIf MakeoverRadioButton1.Checked AndAlso Discount20RadioButton6.Checked Then
CostSelectedService2 -= (Makeover_Decimal * 0.2)
End If