-1

「フォーマット例外が処理されませんでした」というエラーが発生します。および「入力文字列が正しい形式ではありませんでした。」この行にありますtemp_i=float.Parse(textBox3.Text); 何が問題ですか?

//button 2 calculate button
private void button1_Click(object sender, EventArgs e)
{
  float temp_e;
  float temp_i;
  float temp_r;
  float temp_p;

  //*******************************************************
  // Resistance = Volts / Current
  //*******************************************************
  if (IsNumeric(textBox1.Text) &&
  IsNumeric(textBox2.Text) &&
  textBox3.Text == (""))
  {
    temp_e = float.Parse(textBox1.Text); //convert string to number
    temp_i = float.Parse(textBox3.Text); //convert string to number

    temp_r = temp_e / temp_i; //display 1st result
    textBox2.Text = Convert.ToString(temp_r);  //post result resistance (R)

    //calculate power
    temp_p = temp_e * temp_i;
    textBox5.Text = Convert.ToString(temp_p);

    //display 2nd result
    textBox4.Text = Convert.ToString(temp_r) + " * " + Convert.ToString(temp_i) + " = " + Convert.ToString(temp_p) + " watts";
  }'
4

3 に答える 3

4
temp_i = float.Parse(textBox3.Text); //convert string to numbe

textBox3.Textif 条件にあったため、確かに "" が含まれています。

"" を float に解析することはできません。

于 2012-04-23T10:59:32.170 に答える
0

問題は明らかです。textbox3.Textに渡すには無効な値が含まれていますfloat.Parseifあなたの場合、空の文字列(そのすぐ上のに基づいて!

于 2012-04-23T10:59:46.513 に答える
0

テキストボックスが空かどうかを確認し、空の場合はフロートに変換しようとしていますか? ロジックを確認してください。

私はあなたがこれをやろうとしていたと思います:

temp_i = float.Parse(textBox2.Text); 

どちらがより理にかなっています:)

于 2012-04-23T11:01:38.140 に答える