2016-08-23 15 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はfalseを返しますながらConvert.ToDoubleとdouble.ParseはexeptionをスローしますConvert.ToDoubleの代わりにdouble.tryparse使用するか、

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

をdouble.parseすることができます。

またここに返事:質問がされた状態で c# Double.TryParse or Convert.ToDouble

+0

最後に、 'TryParse'は複数のパラメータをとり、成功を示すために' bool'sを返します。 –

+0

これらのコード行はコンパイルされません。 'double.TryParse'は単一のパラメータだけではありません。 –

+0

あなたは両方とも正しいです、メモのおかげで...私は答えを採用しました。とにかくそれが助けになるかどうかわからない。 ibtihaj khanのコードについてもう少し質問があります。結果が他に表示されるのはなぜですか? – mitch

関連する問題