日期:2014-05-18  浏览次数:20370 次

string到int类型转换问题
高手来看看,我的程序中使用Convert.ToInt16(tmp)进行类型转换,tmp为string型,错误信息异常详细信息:   System.IndexOutOfRangeException:   OpenEye
打断点调试显示tmp=“83”,Convert.ToInt16= <overloaded> ,83的数字应该不会太大造成越界吧,怎么会这样呢?将Convert.ToInt16改为Convert.ToInt32,报一样的错误


------解决方案--------------------
sf
------解决方案--------------------
诡异的错误 ....


------解决方案--------------------
直接用int.Parse(temp);
试试!
------解决方案--------------------
Int16 i;
string tmp= "83 ";
i = Convert.ToInt16( tmp );
i++;
Response.Write( i.ToString() );


我这里怎么没有问题?
------解决方案--------------------
不会环境坏了吧,重装 .net framework 试试

试试

short.Parse(tmp);
------解决方案--------------------
string tmp= "83 ";
WL(Convert.ToInt16(tmp));
没有什么错啊~

-----------------------------------------------
msn:bdbox@hotmail.com
请给我个与您交流的机会
------解决方案--------------------
我试的也没问题,是不是你还有代码没贴出来。
------解决方案--------------------
int 是和.NET里的INT32相对应的
------解决方案--------------------
感觉你调试的不对吧

------解决方案--------------------
你转的是字符38吧
不是string
类型吧