首页 > 解决方案 > mscorlib.dll 中出现“System.FormatException”类型的未处理异常附加信息:输入字符串的格式不正确

问题描述

    int Sinhala, Maths, Science, History, Buddhism, English, Group1, Group2, Group3, Total, Average;

    private void btnCalculate_Click(object sender, EventArgs e)
    {
        Sinhala = int.Parse(txtSinhala.Text);
        Maths = int.Parse(txtMaths.Text); //Error is in this line
        Science = int.Parse(txtScience.Text);
        History = int.Parse(txtHistory.Text);
        Buddhism = int.Parse(txtBuddhism.Text);
        English = int.Parse(txtEnglish.Text);
        Group1 = int.Parse(txtGroup1.Text);
        Group2 = int.Parse(txtGroup2.Text);
        Group3 = int.Parse(txtGroup3.Text);

        Total = Sinhala + Maths + Science + History + Buddhism + English + Group1 + Group2 + Group3;

        txtTotal.Text = Total.ToString(); //Find Total

    }

} }

我找不到总计。

mscorlib.dll 中发生了“System.FormatException”类型的未处理异常。

附加信息:输入字符串的格式不正确。

标签: c#visual-studio-2013

解决方案


int.Parse(string s) 方法将字符串转换为整数。

如果字符串 s 为 null,那么它将抛出 ArgumentNullException。

如果字符串 s 不是整数值,则会抛出 FormatException。

如果字符串 s 表示超出整数范围,则会抛出 OverflowException。

可能是您传递给文本框的值可能不是整数值,因此它给出 FormatException 。

尝试使用: int.TryParse(TxtMaths.Text) 它也不会在上述情况下抛出错误,如果解析失败,它将简单地尝试解析值,它将返回零值而不是异常。

有关更多说明,请参阅以下链接: https ://www.codeproject.com/Tips/845439/Difference-between-int-Parse-Convert-ToInt-and-int


推荐阅读