青春几米光

点击这里给我发消息

导航

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

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

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

建议使用IntTryParse

自己封装了一个IntTryParse方法:

publicstaticint IntTryParse(object srcObj)
{
int defaultValue;
if (srcObj ==null) { return0; }
Int32.TryParse(srcObj.ToString(),
out defaultValue);
return defaultValue;
}
publicstaticint 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,该语句不会报错
总结:前面加了out说明它是作为返回的,也就是说把a试着转化为int值,如果成功就放在b里面返回。
int.Parse()是一种类容转换;表示将数字内容的字符串转为int类型。
如果字符串为空,则抛出ArgumentNullException异常;
如果字符串内容不是数字,则抛出FormatException异常;
如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常;

int.TryParse 与 int.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。最后一个参数为输出值,如果转换失败,输出值为 0

posted on 2012-03-07 18:22  青春几米光  阅读(557)  评论(0编辑  收藏  举报