2015-11-17 88 views
1

如果我在計算器上點擊5+5,它會在我的第一個文本框(我有兩個:總和一個,結果一個)中顯示5+5。我得到這個錯誤按下=在計算器中出現= =操作

enter image description here

後,我想這是因爲,當我將鼠標懸停在Sum.Text它顯示5+5,我需要把它拆分,但我不知道怎麼辦。

這是我的代碼。

private void Addition_Click(object sender, EventArgs e) 
{ 
    dbl_FirstNumber = Convert.ToDouble(Sum.Text); 
    Sum.AppendText ("+"); 
    Operation = 1; 
} 

private void equals_Click(object sender, EventArgs e) 
{ 
    switch (Operation) 
    { 
     case 1: 
      Result.Text = Convert.ToString(Convert.ToDouble(Sum.Text) + dbl_FirstNumber);  
      break; 
     case 2: 
      Result.Text = Convert.ToString(Convert.ToDouble(Sum.Text) - dbl_FirstNumber); 
      break;                   
     case 3:                    
      Result.Text = Convert.ToString(Convert.ToDouble(Sum.Text) * dbl_FirstNumber); 
      break; 
     case 4: 
      Result.Text = Convert.ToString(Convert.ToDouble(Sum.Text)/dbl_FirstNumber); 
      break;      
     } 
    } 
}                      
+1

嗯,你的問題是相當大,那麼你認爲它是。 C#編譯器無法知道當你輸入文本如'5 + 5'時,你需要這個操作的結果。您必須以任何方式解析字符串以提取所有運算符和數字。你可能會看看這個教程:http://www.dreamincode.net/forums/topic/32968-basic-calculator-in-c%23/ – HimBromBeere

+0

我將如何解析字符串//只看到鏈接,謝謝我會檢查出 – unreal1357

+0

看看一個名爲Ncalc的項目(http://ncalc.codeplex.com)。它有能力爲其數學運算符評估字符串。 @HimBromBeere:那「基本」的計算器教程至少可以說是非常不雅觀。我真的不能建議遵循該教程。 –

回答

2

使用方法建議here

private void equals_Click(object sender, EventArgs e) 
{ 
    Result.Text = new System.Data.DataTable().Compute(Sum.Text, null);  
}