2014-02-07 3 views
0

나는 ...문자열을 double vb2008로 변환 할 수 없습니까?

간다 여기, 프로그래밍에 대한 멍청한 놈이야하고이 그러나 더 전문적인 군중 아주 사소한 것처럼 보일 수 있습니다

내가 쓰기를 시도하고 몇 가지 코드에 문제가 조금 ... 데

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이 작동하지 않습니다 ...

아무도 도와 주실 수 있습니까?

+7

이것은 이벤트 핸들러입니다. 버튼을 클릭 했습니까? –

+0

'Double.Parse' 또는'Double.TryParse'를 사용하여 double로 변환하는 것이 더 쉽고'System.Convert.ToDouble ((100 + CK_txt_Tax.Text)/100)'을'(100 + Double.Parse (Iff (String.IsNullOrEmpty (CK_txt_Tax.Text), "0", CK_txt_Tax.Text))/100' –

+3

코드가 실행되지 않는 것이 문제라면 문자열을 double로 변환하는 것이 중요하지 않습니다. 당신의 코드는'Debug.WriteLine ("Hello")'로 끝나고이 명령문에 중단 점을 넣으십시오. 여전히 실행되지 않으면 문제는 6 줄로 표시되지 않습니다. ** 어떻게 6 행에 ** 제어를 넘깁니까? 실험 후 질문을 적절하게 조정하고 자세한 내용을 제공하십시오. – Neolisk

답변

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 
0

경우 문제가되지 코드와 것이 아니라 핸들러 있음을 의미합니다.

은 또한 변환 예외로 이어질 수있는 변환하기 전에 당신의 텍스트 상자가 null이 아닌 것을 확인해야합니다, 당신의 버튼 이름 그러나 CK_btn_Total_Bill

있는지 확인하십시오. 또는 수학적 연산을 수행하기 전에 Double.TryParse을 사용하여 변환을 시도하십시오.

관련 문제