求C#关于Convert.ToInt32把字符串转化为整型出错问题的解决办法

「已注销」 2011-06-01 10:13:17
求关于Convert.ToInt32把字符串转化为整型出错问题的解决办法


我做一个网站,在接收ID值的时候,如果用那户输入了字符串。我使用
Convert.ToInt32转换的时候,转换出错。这种情况怎么处理好呢,用什么方式处理这样的错误。
我使用
pID = Convert.ToInt32(ID) ? Convert.ToInt32(ID) : 0 ;
但是出错。请各位指点。在这里先谢谢各位了!
...全文
999 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2011-06-01
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 caozhy 的回复:]

引用 7 楼 glawhack 的回复:
OK,问题也经解决了。呵呵,使用int32.TryParse 做处理就好了!麻烦各位了!呵呵!谢谢各位的解答!

TryParse内部就是用这个办法实现的。。。汗,这下不管效率了?
[/Quote]

哦,内部我不太清楚哦。不过谢谢你的指点。
threenewbee 2011-06-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 glawhack 的回复:]
OK,问题也经解决了。呵呵,使用int32.TryParse 做处理就好了!麻烦各位了!呵呵!谢谢各位的解答!
[/Quote]
TryParse内部就是用这个办法实现的。。。汗,这下不管效率了?
「已注销」 2011-06-01
  • 打赏
  • 举报
回复
OK,问题也经解决了。呵呵,使用int32.TryParse 做处理就好了!麻烦各位了!呵呵!谢谢各位的解答!
threenewbee 2011-06-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 glawhack 的回复:]
引用 1 楼 caozhy 的回复:

C# code
pID = 0;
try { pID = Convert.ToInt32(ID); } catch { }


使用方法的却可以,但是效率有些低,所以想找找更好的一些方法。望指点!谢谢!
[/Quote]
效率为什么低?请教下。


for (int i = 1; i < 1000000; i++)
{
pID = 0;
try { pID = Convert.ToInt32(ID); } catch { }
}

100万次在我的电脑上瞬间运行出来。
「已注销」 2011-06-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 caozhy 的回复:]

C# code
pID = 0;
try { pID = Convert.ToInt32(ID); } catch { }
[/Quote]

使用方法的却可以,但是效率有些低,所以想找找更好的一些方法。望指点!谢谢!
「已注销」 2011-06-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lsc19890723 的回复:]

你这Id可能不是数字型字符串哦
[/Quote]

ID不是字符串,但是为了容错,所以要处理这种情况,就是即使是字符串的时候也可以正常处理,就是如果转换失败,那么pid就等于0,但是在执行的时候出错了。
sam-007 2011-06-01
  • 打赏
  • 举报
回复
你这Id可能不是数字型字符串哦
风之影子 2011-06-01
  • 打赏
  • 举报
回复
先在客户端能地脚本判断输入的是否是数了组合,再进行转换。


threenewbee 2011-06-01
  • 打赏
  • 举报
回复
pID = 0;
try { pID = Convert.ToInt32(ID); } catch { }

111,079

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧