代码如下:
string MATC02 = dt.Rows[0][0].ToString().Trim();//得出最大值,如果是空就是0000
int IA = int.Parse(MATC02) + 10001;//把最大值转换成数字 再加 10001
MATC02="2212170001"
int.Parse(MATC02) 居然提示报错 C# System.OverflowException:“值对于 Int32 太大或太小 ,想不通,这么小的值,转换会报错, 请大神指点,谢谢。
int32-数值范围:-2,147,483,648 到 2,147,483,647
你这个数超出int32的取值范围了,如果没有负值的话,可以用uint a = uint.Parse(MATC02); 或者用更大取值范围的类型,比如:long 类型。
建议在 string MATC02 = dt.Rows[0][0].ToString().Trim();
之后打印一下 MATC02
的值,可能出现了非正常值
这样子也不行,奇怪
@郑英灿: int 类型支持的最大值是 2147483647
,2212170001-2147483647=64686354
建议用long