2016-11-02 1 views
0

저는 C#을 처음 사용합니다. 나는 계산기를 만들기 위해 노력하고있어,하지만 난 FormatException가 슬로우 있습니다처리되지 않은 형식 Excepton

private void operator_click(object sender, EventArgs e) { 
    Button button = (Button) sender; 
    operationperformed = button.Text; 
    result = Double.Parse(textBox1.Text); // <- here I have the exception thrown 

    b = true; 
} 
+4

하는 '이중'을 나타내지 않습니다. 예를 들어 문자열이''hello ''이면 숫자로 변환 할 수 없습니다. 왜냐하면 그것은 숫자가 아니기 때문입니다. 이러한 상황을 처리하기 위해'double.TryParse()'를 살펴보십시오. – David

+0

입력이 두 자리 또는 숫자가 아님을 나타냅니다. 입력은 무엇입니까? – Badiparmagi

+0

값을 변환 Double.TryParse 메서드를 사용해보십시오 – tabby

답변

1

을 내가 double.TryParse 대신 double.Parse으로 사용하는 것이 좋습니다 : 당신은 문자열에서`double`을 분석하려는

private void operator_click(object sender, EventArgs e) { 
    double v; 

    if (!double.TryParse(textBox1.Text, out v)) { 
    // textBox1.Text doesn't contain double, e.g. "bla-bla-bla" 

    //TODO:put a warning/error message here 

    return; 
    } 

    // textBox1.Text has a double value which is v 
    operationperformed = (sender as Button).Text; 
    result = v; 
    b = true; 
} 
관련 문제