c#中的未处理 System.FormatException问题

2025-03-06 19:09:58
推荐回答(5个)
回答1:

首先肯定是你textbox里面的格式不对,你是否运行的时候textbox里面是空的,你可以将textBox1.Text属性给予例如”1+2“试一下
如果不想加可以在程序里面加个判断
if(textBox1.Text != "")
{
//你上面所有的代码
}
s实在不行可以设置中断按F11单步调试

回答2:

格式异常,对你的代码来说,错误在于str的值。
SubString()方法,第一个参数是子字符串开始位置,第二个参数是子字符串长度,很显然,出错的原因是pos-1的值大于str的长度,或者pos-1小于等于零。

你的代码主要是没对变量的有效性做检查。跟踪一下,看看str的值,错误应该就是str的长度小于pos-1。

回答3:

a = Convert.ToInt32(str.Substring(0, pos - 1));
里的pos 可能等于1,那么pos -1就等于0
结果就是 a="" 或者a=null
这样肯定会报转换异常

回答4:

System.FormatException说明是格式异常。
你换个方式转换它的格式。其实你的b也存在同样的问题,只是系统捕抓到a的,就不在往下捕抓而已。

回答5:

Copy了你的代码,在这这运行没错啊?