2015-10-15 53 views
-1

我在第一次使用VB中的单选按钮,我无法弄清楚我做错了什么。单击事件是假设乘两个输入,但不管什么不图输入,结果回来0Visual Basic单选按钮计算

我一起工作的代码:

Dim decTotal As Decimal  'Total charge for choice plan 

Dim intMinutes As Integer   'Duration of phone calls 
  
'Declare constants for Rates 

Const decDaytimeRate As Decimal = 0.07D 

Const decEveningRate As Decimal = 0.12D 

Const decOffPeakRate As Decimal = 0.05D 
  
'Dispay Total charge 

lblTotal.Text = decTotal.ToString("c") 
  
  
  

'Calculate total amount the user is expected to pay according to rate plan 

If radDaytime.Checked = True Then 

decTotal = intMinutes * decDaytimeRate 

End If 

If radEvening.Checked = True Then 

decTotal = decEveningRate * intMinutes 

End If 

我相信这是一个简单的解决方案,因为我不会抛出任何错误消息,但我仍然陷入困境。

+0

你是什么意思“结果回来”单击事件不返回一个值。请格式化您的代码 – Plutonix

+0

是的,这就是我的意思。点击计算按钮时的结果返回0.00值。 – cybagem

+0

在进行计算之后设置lblTotal.Text属性**,而不是之前。 –

回答

0

将lblTotal.Text = decTotal.ToString(“c”)行移至末尾。它在计算之前显示结果。

+0

非常感谢。在计算后设置它是非常有意义的,但结果仍然相同。 – cybagem

+0

将intMinutes更改为小数。我认为问题在于VB将十进制数四舍五入为int(0),所以任何被0重复的值都是0。或者,您可以将intMinutes保留为Int,但在Decimal.Parse(intMinutes)计算中包含intMinutes :例如decTotal = decEveningRate * Decimal.Parse(intMinutes) – Sam

+0

另一个说明:你在哪里设置intMinutes?目前它也是0 ... – Sam