0

我有一个非常基本的程序作为作业(我是初学者,所以对我来说仍然很棘手),要求您输入一个十进制值,并让一个复选框进行计算,然后在不同的标签中显示结果。当我选中未添加任何值的复选框时,我经常遇到错误。

Private Sub chkGST_CheckedChanged(sender As Object, e As EventArgs) Handles chkGST.CheckedChanged
    'get txtDollarAmt*const dGST (0.07D) display lblGSTOutput. txtDollarAmt+dGST, display lblTotalOutput

    Dim dAmt As String

    dAmt = Decimal.Parse(txtDollarAmt.Text)

    If chkGST.Checked = True Then
        lblGSTOutput.Text = dAmt * dGST

    End If



End Sub
4

2 回答 2

0
Dim dAmt As Decimal 

If Decimal.TryParse(txtDollarAmt.Text, dAmt) Then
    If chkGST.Checked = True Then
        lblGSTOutput.Text = dAmt * dGST
    End If
End If    
于 2013-10-06T16:52:24.360 回答
0

在尝试解析文本(将其转换为十进制)之前,请检查它是否为空。使用 Try Catch 块。

而不是这条线。

dAmt = Decimal.Parse(txtDollarAmt.Text)

用这个-

Try
   dAmt = Decimal.Parse(txtDollarAmt.Text)

Catch e As FormatException

End Try 
于 2013-10-06T16:48:17.193 回答