判斷C#中的字串是否是數字,如果是轉換成int類型
1.通過Regex(可以判斷正數和負數)
public int IsNumeric(string str)
{
int i;
if(str != null && System.Text.RegularExpressions.Regex.IsMatch(str,@"^-?\d+$"))
i = int.Parse(str);
else
i = -1;
return i;
}
2.通過字元
/// <summary>
/// 判斷是否是數字
/// </summary>
/// <param name="number"></param>
/// <returns></returns>
private bool IsNumeric(string number)
{
try
{
for(int i=0;i<number.Length;i++)
{
if(number[i]<'0'||number[i]>'9')
{
return false;
}
}
return true;
}
catch
{
return false;
}
}
3.通過char.IsNumber方法
/// 判斷是否是數字
/// </summary>
/// <param name="number"></param>
/// <returns></returns>
private bool IsNumeric(string number)
{
try
{
for(int i=0;i<number.Length;i++)
{
if(!char.IsNumber(number,i))
{
return false;
}
}
return true;
}
catch
{
return false;
}
}
4.通過try,catch
/// 判斷是否是數字
/// </summary>
/// <param name="number"></param>
/// <returns></returns>
private bool IsNumeric(string number)
{
try
{
int.Parse(number);
return true;
}
catch
{
return false;
}
}