首页 新闻 会员 周边 捐助

Convert.ToInt32问题Convert.ToInt32(context.Request.Form["Txt_IntegralMin"])

0
[已解决问题] 解决于 2010-07-16 13:44

Convert.ToInt32(context.Request.Form["Txt_IntegralMin"].ToString())

Convert.ToInt32(context.Request.Form["Txt_IntegralMin"])

这两个语句当context.Request.Form["Txt_IntegralMin"]为字符串的时候为什么老是会出现异常~

羽鱼的主页 羽鱼 | 初学一级 | 园豆:134
提问于:2010-07-16 01:08
< >
分享
最佳答案
0

context.Request.Form["Txt_IntegralMin"]不仅仅是字符串对象,还可能是null。

例如"trest"不能转换为int,当然出错!

建议使用IntTryParse

自己封装了一个IntTryParse方法:

public static int IntTryParse(object srcObj)
{
int defaultValue;
if (srcObj == null) { return 0; }
Int32.TryParse(srcObj.ToString(),
out defaultValue);
return defaultValue;
}
public static int IntTryParse(object srcObj, int NullValue)
{
int defaultValue;
////if (srcObj == null) { return 0; }
if (!Int32.TryParse(srcObj.ToString(), out defaultValue)) { Int32.TryParse(NullValue.ToString(), out defaultValue); }
return defaultValue;
}
int temp=IntTryParse(context.Request.Form["Txt_IntegralMin"],-1);
//context.Request.Form["Txt_IntegralMin"]为null或不能转换为数字时,设置temp为-1,该语句不会报错
邀月 | 高人七级 |园豆:25475 | 2010-07-16 08:13
谢了~本来以为Convert.ToInt32会把不是数字的字符串自动转换为0~~~~
羽鱼 | 园豆:134 (初学一级) | 2010-07-16 08:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册