TextBox文本框中的内容是数据,因为我要算出结存 ,比如TextBox1.text=10.56(期初) TextBox2.text=112.5(收入)TextBox3.text=10.5(发出)  TextBox4.text=?(结存) 
TextBox4.text = (Convert.ToDouble(TextBox1.text)+  Convert.ToDouble(TextBox2.text)+  Convert.ToDouble(TextBox3.text)).ToString("F2"); 
这个提示输入字符串的格式不正确,请问我应该怎么写。

解决方案 »

  1.   

    float.parse(),如果字符串非数字,会有异常,你catch下,
      

  2.   

    (期初)也是显示在TextBox中的?那得先把它去掉啊
      

  3.   

    估计是文本框里你输入的不是纯数字,注意全半角和中英文标点的不同
    建议:
    一,加上文本框输入字符验证代码
    二,用double.Parse()好点
      

  4.   

    int i = 0;
    if (!int.TryParse("222", out i))
    {
      // alert not valid number
      return;
    }
      

  5.   

    TextBox1.text=10.56
    double d;
    double.tryParse(TextBox1.text,out d);
      

  6.   

    try
    {
      textBox3.Text=(double.Parse(textBox1.text)+double.Parse(textBox2.Text)).ToString("F2");
    }
    catch(FormatException)
    {
       MessageBox.Show("输入有错!!!");
    }还有注意一下,你的TextBox是不是该改为textBox
      

  7.   

    TextBox1.text=10.56(期初)你这样赋值是不对的哦,因为你要转换为数值的话,里面必须是数字
      

  8.   

     try
            {
             
                TextBox1.Text = (double.Parse(TextBox5.Text) + double.Parse(TextBox8.Text) + double.Parse(TextBox11.Text)).ToString("F2"); 
            }
            catch  
            {
                Response.Write("<Script Language=\"javascript\">\n");
                Response.Write("alert(\"输入有错!\")\n");
                Response.Write("</Script>");
            }         Response.Write(double.Parse(TextBox5.Text).ToString("F2"));
     当TextBox5.Text=0.00 时TextBox1.Text = (double.Parse(TextBox5.Text) + double.Parse(TextBox8.Text) + double.Parse(TextBox11.Text)).ToString("F2");  这个便出错,
    但是Response.Write(double.Parse(TextBox5.Text).ToString("F2"));
    却不出错 不知是什么原因
      

  9.   

    将非数据先去除掉再转换,最好.TryParse 一下
      

  10.   

    将非数据先去除掉再转换,最好.TryParse 一下  晕死
    好几个TextBox呢.
      

  11.   

    不知道当 当TextBox5.Text=0.00 时  
    double.Parse(TextBox5.Text)  的值是不是0,还是不能这样写了
      

  12.   

    将非数据先去除掉再转换,最好.TryParse 一下  晕死 
    好几个TextBox呢.
      

  13.   

    看不懂了,建议你把你的所有代码粘出来,你的TextBox是在运行时输入的,还是程序中得到的呀
    还有,我说了,你是把系默认的textbox1手动改为了TextBox1了的吗?这样有什么意义,说不定就是你这儿错了
      

  14.   

    你写的表达式应该没有错,是正确的。你是不是在每一次输入数据是可以的啊?当第二次输时就会出现“字符串的格式不正确”,可能是因为文本框被清空时,没有任何值时电脑还会去执行那个加的表达式。它会认为你输入非法的值。以下是我的一个加法表达式的代码,仅供参考。
     private void textBox2_TextChanged(object sender, EventArgs e)
            {
                if (textBox2.Text != "")
                {
                    textBox3.Text = (Convert.ToInt16(textBox1.Text) + Convert.ToInt16(textBox2.Text)).ToString("F2");
                }
                else
                {
                    textBox3.Text = (Convert.ToInt16(textBox1.Text)).ToString("F4");
                }        }