2012-10-26 81 views
1

http://i.imgur.com/E7pT9.jpg输入字符串格式不正确。格式异常是未处理的

int ctr, len; 
    string gee; 
    t = kalliskaBillingDataSet.Tables["DealerDetail"]; 
    len = t.Rows.Count - 1;  
     r = t.Rows[len]; 
    string id = r["DealerID"].ToString(); 
    gee = id.Substring(1, 3); 
     ctr = int.Parse(gee); 

输入字符串的不正确的格式在该行::

ctr = int.Parse(gee); 
+0

“id.SubString(1,3)”之后的“code”的值是什么?你尝试调试它吗?抛出异常是因为你的字符串“代码”不能被解析为一个int(它可能包含字母,奇怪的字符,它是一个浮点数等等) – Joe

回答

2

E00不是有效的十进制字符串。你需要将它解析为一个十六进制字符串。

使用类似:

int.Parse(code, System.Globalization.NumberStyles.HexNumber); 

当然,这可能是该值不应该是十六进制的,在这种情况下,你有一个错误。

要更好地从这种情况中恢复,请改为使用int.TryParse(code, out value),并检查返回值是true/false,表示成功/失败。

1

查看屏幕截图,codeE00,它不能转换为整数。