如何将标签和文本框相乘而不是在vb net中显示另一个标签的结果?

时间:2017-02-06 11:19:39

标签: vb.net

所以这就是我现在所拥有的,它触发了一个错误"输入字符串格式不正确"。我是vb net的新手。

     Dim total1a = Integer.Parse(lblPrice1a.Text) * Integer.Parse(txtQuantity1a.Text)
    Dim value As String = Convert.ToString(total1a)
    lblTotal1a.Text = value

2 个答案:

答案 0 :(得分:2)

尝试以下代码。最佳做法是使用TryParse方法进行数据类型转换。由于label不可编辑,因此else代码抛出异常会更明智。

Dim price As Integer
Dim quantity As Integer

If Integer.TryParse(lblPrice1a.Text, price) Then
    If Integer.TryParse(txtQuantity1a.Text, quantity) Then
        lblTotal1a.Text = (price * quantity).ToString
    Else
        MessageBox.Show("Please enter valid quanity.")
    End If
Else
    Throw New Exception("lblPrice1a price is not an integer.")
End If

答案 1 :(得分:0)

你得到的错误

  

输入字符串格式不正确

表示无法解析您要解析的两个字符串之一。

Dim total1a As Integer
Dim price As Integer
Dim quantity As Integer
Try
price = Cint(lblPrice1a)
Catch ex As Exception
'Code for whatever happens if it goes wrong
End Try
Try
quantity = Cint(lblQuantity1a)
Catch ex As Exception
'Code for whatever happens if it goes wrong
End Try
total1a = price*quantity
lblOutput.Text = Cstr(total1a)

如果用户输入“爆米花”数量,那些try catch语句可以防止抛出异常。根据我的经验,CInt也与Integer.Parse()一样有效。