无法将字符串转换为双vb2008?

时间:2014-02-07 00:15:34

标签: vb.net string double

我是编程的菜鸟,我正试图写一些代码时遇到一些麻烦......

对于更专业的人群来说,这似乎是微不足道的,但是,这里...... [/ p>

Private Sub CK_btn_Total_Bill_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CK_btn_Total_Bill.Click

    Dim totalPrice_1 As Double
    totalPrice_1 = totalPrice_1 + _
    CDbl(CK_txt_Quantity.Text) * _
    CDbl(CK_txt_Price.Text) * _
    System.Convert.ToDouble((100 + CK_txt_Tax.Text) / 100)
    CK_txt_Total.Text = totalPrice_1

当我测试调试时,我的其余代码运行正常,但这6行永远不可执行。 CK_btn_Total_Bill_click不起作用......

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

如果处理程序未触发,则事件不会调用它。你能改变按钮的名字吗?我不确定更改名称时VS2008是否会自动更新对该按钮的每次调用。

你的一个问题可能在这里:

System.Convert.ToDouble((100 + CK_txt_Tax.Text) / 100)

您尝试使用字符串值进行数学运算,而不是将其转换为数字。这样的事情可能有用:

Dim CKTax,CKQuantity,CKPrice As Double
If Double.TryParse(CK_txt_Quantity.Text, CKQuantity) AndaAlso _
   Double.TryParse(CK_txt_Price.Text) AndAlso _
   Double.TryParse(CK_txt_Tax.Text, CKTax) Then

    totalPrice_1 = totalPrice_1 + CKQuantity * CKPrice * ((100 + CKTax) / 100)
End If

答案 1 :(得分:0)

如果事件未触发,则表示问题是 NOT 代码,而不是处理程序。

请确认您的按钮名称为CK_btn_Total_Bill

但是,在尝试转换之前,您还需要验证文本框是否为空,这可能会导致转换异常。或者在进行任何数学运算之前使用Double.TryParse尝试转换。