第一种,通过系统内置的Int32.TryParse来判断,该方法是将字符串转换成有效的int32类型的方法。我们编写一个方法来测试一下:
public static bool IsNumberic(string str)
{
int vsNum;
bool isNum;
isNum = Int32.TryParse(str, out vsNum);
return isNum;
}
调用上面编写的IsNumberic方法,通过文本框输入不同的字符串,来判断是否可以转成int。调用方法如下:
bool isNum = IsNumberic(textBox1.Text.Trim());
if (isNum)
{
richTextBox1.Text = $@"{textBox1.Text}可以转换成int" + Environment.NewLine;
}
else
{
richTextBox1.Text = $@"{textBox1.Text}含有其他字符,无法转换int" + Environment.NewLine;
}
第二种方式,使用正则表达式,正则表达式提供了丰富的表达式来判断不同的字符。判断int类型的正则表达式为:(^[\-0-9][0-9]*?)$ ,我们使用该正则表达式来实现一个方法:
/// <summary>
/// 正则表达式判断是否可以转int
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public bool RegNumber(string str)
{
Regex reg=new Regex(@"(^[\-0-9][0-9]*?)$");
return reg.IsMatch(str);
}
调用RegNumber方法,通过界面上的文本框输入不同的值,来判断是否可以转成Int类型。
bool isNum = RegNumber(textBox1.Text.Trim());
if (isNum)
{
richTextBox1.Text += $@"{textBox1.Text}可以转换成int" + Environment.NewLine;
}
else
{
richTextBox1.Text += $@"{textBox1.Text}含有其他字符,无法转换int" + Environment.NewLine;
}