int finePerDay = Convert.ToInt32(txtFinePerDay.Text);
Input string was not in a correct format.请问这错了甚麽?

解决方案 »

  1.   

    int finePerDay = Convert.ToInt32(txtFinePerDay.Text);
    输入的字符串格式不对,必须这个Text="aaa"根本不能转换成int,所以就异常了。
    可以使用int.TryParse()
    int finePerDay = 0;
    bool flag = int.TryParse(txtFinePerDay.Text , out finePerDay);
    flag为true的时候表示转换成功,finePerDay 的值为转换后的值。
    flag为false的时候表示转换失败,finePerDay 的值为0。
      

  2.   

    要么你先使用一下int.TryParse()这个形式的,要么再试一下隐式转换?
      

  3.   

    数据格式不正确 用用int.TryParse()这个方法试试看
      

  4.   

    haukwong兄已经明确回复你的问题了,你的代码这种写法没什么问题,出现这个错误属于运行期异常,比如说把aaa转成int的数值型肯定不能成功,就像问你多大了,你说我是男的一样
      

  5.   

    是因为txtFinePerDay.Text的格式不正确,比如字母G就无法用Convert.ToInt32变成int类型int finePerDay = Convert.ToInt32(txtFinePerDay.Text,16);//将16进制表示的字符串转成Int
                                                             //这样的话字符串只能输入0~F范围的
      

  6.   

    txtFinePerDay.Text 的格式不支持转换成INT  断点跑下 看看它获取到的是什么值
      

  7.   

    int32 是不可变的值类型,它表示有符号整数,其范围从负 2,147,483,648(用 Int32MinValue 常数表示)到正 2,147,483,647 的值(用 Int32MaxValue 常数表示)。 
      

  8.   

    因为输入的不是数字 所以转换不了 可以捕获错误 并提示
    try
    {
      int finePerDay = Convert.ToInt32(txtFinePerDay.Text);
    }
    catch
    {
      messagebox.show("请输入数字");
    }