2016-08-23 250 views
-2
protected void BtnCal_click(object sender, EventArgs e) 
     { 
      { double result = 0; 
       double width; 
       double length; 
       double radius; 
       double breath; 

      radius = (Convert.ToDouble(TextRadius.Text)); 
      length = (double.Parse(TextLength.Text)); 
      breath = (double.Parse(TextBreath.Text)); 
      width = (Convert.ToDouble(TextWidth.Text)); 

      if (DropDownShapes.SelectedValue == "cir") 
      {      double pi = 3.142; 
       result = radius * radius * pi; 
       TextWidth.Text = "0"; 
       TextLength.Text = "0"; 
       TextBreath.Text = "0"; 
      } 

      else if (DropDownShapes.SelectedValue == "tri") 
      { result = length * breath * 0.5; 
       TextWidth.Text = "0"; 
       TextRadius.Text = "0"; 
      } 

      else if (DropDownShapes.SelectedValue == "rec") 
      { result = length * width; 
       TextRadius.Text = "0"; 
       TextLength.Text = "0"; 
       TextBreath.Text = "0" 
      } 
      else 
      { 
       TextArea.Text = result.ToString(); 
      } 
     } 
    } 
+1

隨着問題是? –

回答

-2

不確定問題到底是什麼,但也許你有問題,在你的一個TextBox中沒有雙重值。爲了解決這個問題,您可以改用double.tryparse Convert.ToDouble或double.parse

double.TryParse(TextRadius.Text, out radius); 
double.TryParse(TextLength.Text, out length); 
double.TryParse(TextBreath.Text, out breath); 
double.TryParse(TextWidth.Text, out width); 

Convert.ToDouble和double.Parse將拋出exeption而double.TryParse將如果無法解析返回false。

而且answerd這裏: c# Double.TryParse or Convert.ToDouble

+0

最後我檢查了一下'TryParse'有多個參數,它返回'bool's來表示成功。 –

+0

這些代碼行不會編譯。 'double.TryParse'不僅僅是一個參數。 –

+0

你是對的,謝謝你的提示......我採納了答案。不知道它是否有幫助。關於來自ibtihaj khan的代碼還有一些問題...例如爲什麼結果只顯示在其他等等... – mitch