C# 如何检查文本框是否以数值开头
在Windows窗体C#中,我想检查我创建的文本框是否以数值开头,如果是,我想在开头插入减号(-)以将数字改为负数,我找到了一种方法,但这太浪费时间了,下面是我的代码:C# 如何检查文本框是否以数值开头,c#,C#,在Windows窗体C#中,我想检查我创建的文本框是否以数值开头,如果是,我想在开头插入减号(-)以将数字改为负数,我找到了一种方法,但这太浪费时间了,下面是我的代码: if(richTextBox1.Text.StartsWith(“1”)| richTextBox1.Text.StartsWith(“2”)#直到richTextBox1.Text.StartsWith(“9”)) { richTextBox1.Text.Insert(0,“-”); } 所以我在问,是否有一个更短的方法来替
if(richTextBox1.Text.StartsWith(“1”)| richTextBox1.Text.StartsWith(“2”)#直到richTextBox1.Text.StartsWith(“9”))
{
richTextBox1.Text.Insert(0,“-”);
}
所以我在问,是否有一个更短的方法来替换代码
if (Char.IsNumber(richTextBox1.Text[0]))...
您还应该在其周围添加一些检查,以确保有文本
您还应该在其周围添加一些检查,以确保有文本。使用正则表达式:
if (Regex.IsMatch(richTextBox1.Text, @"^\d"))
匹配字符串开头的数字(0-9)
或直接替换:
richTextBox1.Text = Regex.Replace(richTextBox1.Text, @"^\d", "-$&");
使用正则表达式:
if (Regex.IsMatch(richTextBox1.Text, @"^\d"))
匹配字符串开头的数字(0-9)
或直接替换:
richTextBox1.Text = Regex.Replace(richTextBox1.Text, @"^\d", "-$&");
检查文本的第一个字符是否为数字可以在单行中使用Char.IsNumber()函数进行,如下所示: if(Char.IsNumber(stringInput,0)){ } 更多信息:
检查文本的第一个字符是否是数字,可以使用Char.IsNumber()函数在单行中完成,如下所示: if(Char.IsNumber(stringInput,0)){ } 更多信息:
这里已经有很多好的答案,另一个选择是如果您需要文化支持,请尝试一下
public static bool IsNumber(char character)
{
try
{
int.Parse(character.ToString(), CultureInfo.CurrentCulture);
return true;
}
catch (FormatException) { return false; }
}
你可以这样称呼它:
if ( IsNumber(richTextBox1.Text[0]))
很多好的答案已经在这里了,另一个选择是如果你想要文化支持,试试看
public static bool IsNumber(char character)
{
try
{
int.Parse(character.ToString(), CultureInfo.CurrentCulture);
return true;
}
catch (FormatException) { return false; }
}
你可以这样称呼它:
if ( IsNumber(richTextBox1.Text[0]))
这是特定的文化吗。此外,请查看备注部分了解更多信息。这是特定于文化的吗。此外,请查看备注部分以了解更多信息。