2016-09-16 71 views
2

我是初學者,正在嘗試創建一個計算器。代碼工作的方式是有一個加法和一個減法ETC的方法。 當我打電話扣除法不需要減去文本框中的答案之前出現(我知道我的代碼可以使用更難的方式做同樣的目的,但我只是初學者試圖做一些代碼)不需要的字符出現

double rat; 
byte operations; 

public void TheEqualMinus(double earlier) //Substraction Operation Method 
{ 
    double _minus; 
    _minus = Convert.ToDouble(result.Text); 

    double last = _minus - earlier; 
    result.Text = last.ToString(); 
} 

private void button15_Click(object sender, EventArgs e) 
{ 
    //The Subtract Button 
    operations = 2; 
    rat = Convert.ToDouble(result.Text); 
    label1.Text = rat + " -"; 
    result.Text = ""; 
} 

private void button4_Click(object sender, EventArgs e) 
{ 
    // equal button 
    NewText = true; //boolean to newtext 
    switch (operations) 
    { 
     case (1): //addition 
      TheEqualSum(rat); 
      label1.Text = ""; 
      break; 
     case (2): //substraction 
      TheEqualMinus(rat); 
      label1.Text = ""; 
      break; 
    } 
} 

和答案輸出成爲「 - 我想要的正確答案」 前。 9-6 = -3 那麼任何想法如何去除這個減號?

+0

是您的文字包括減號?如果你輸入文本-3解析器會假設你的意思是「負3」 –

+3

你是否「減」值6和你以前的值9? – LarsTech

+1

爲什麼不相應地命名按鈕,而不是使用諸如'//減法按鈕'之類的註釋?它會讓你的代碼更容易理解。當然,也可以使用標籤,textboxex等。另外,使用'enum'代替數字,所以你可以做'case Operations.Addition:'等等。無論如何,你不需要括號('case 1:'就足夠了)。 – Andrew

回答

0

按照上述意見,這是固定通過簡單地改變這樣的:

double last = _minus - earlier; 

這樣:

double last = earlier - _minus;