我有个同事,写的是判断转化DateTime类型的方法,是这么写的:
try{
DateTime.Parse(str);
return true;
}
catch
{
return false;
}
int应该一样可以吧?
ps:不大厚道哦,0分帖子。。。
TryParse
int.TryPase(),如果不能转化成整型的话,此方法返回false,否则返回true
int.TryPrase(string source, out i)有2个参数,第一个是要转化的字符串,第二个参数存放转化后的值,如果转化失败,就为0,及i = 0
举个例子:
int a = "abc"; //要转化的变量
int result = 0;
if (int.TryParse(a, out result))//返回false,result = 0(因为转化失败了)
另一种方法。
#region 判断是否为整数 是返回true 否返回false 可以传入null
/// <summary>
/// 判断是否为整数 是返回true 否返回false 可以传入null
/// </summary>
/// <param name="strVal">要判断的字符</param>
/// <returns></returns>
public static bool IsInt(string strVal)
{
if (strVal == null || strVal.Length == 0)
return false;
//判断是否只有.、-、 -.
if (strVal == "." || strVal == "-" || strVal == "-.")
return false;
//去掉第一个负号,中间是不可以有负号的
if (strVal.Substring(0, 1) == "-")
strVal = strVal.Remove(0, 1);
foreach (char c in strVal)
{
if (c < '0' || c > '9')
return false;
}
return true;
}
#endregion
Regex r = new Regex("^[0-9]*$");
if (r.IsMatch(Request.QueryString["page"]))
{
PageIndex = Convert.ToInt32(Request.QueryString["page"]);
ShowInfos();
}
如果能转化为整形的就走if了。可以试试