格式异常未处理。输入字符串的格式不正确

时间:2012-04-23 10:57:20

标签: c# visual-studio

我收到错误“格式异常未处理。”和“输入字符串的格式不正确。”它在这一行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";
  }'

3 个答案:

答案 0 :(得分:4)

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

textBox3.Text肯定包含“”,因为它处于你的if状态。

你不能解析“”浮动。

答案 1 :(得分:0)

问题应该是显而易见的; textbox3.Text包含无效传递给float.Parse的值。在您的情况下,一个空字符串(基于它上面的if

答案 2 :(得分:0)

您检查文本框是否为空,如果是,您是否尝试转换为float?检查你的逻辑。

我猜你是想这样做的:

temp_i = float.Parse(textBox2.Text); 

哪个更有意义:)