gpt4 book ai didi

c#检查文本框中的整数

转载 作者:太空宇宙 更新时间:2023-11-03 18:30:30 25 4
gpt4 key购买 nike

我正在尝试检查文本框是否包含数字。问题是它总是返回它包含一个非数字字符。我尝试了几种方法,但似乎都不起作用。

我尝试过的方法之一是:

if( Regex.IsMatch(tb.Text.Trim(), @"^[0-9]+$")) // tb.Text is the textbox 

不管我在文本框中输入什么,它总是返回它包含一个非数字字符(我尝试输入 1-9、'a'、'b')

最佳答案

您可以将字符串解析为特定的数字类型,即

double result;
if (!double.TryParse(tb.Text, out result))
{
//text is not a valid double;
throw new Exception("not a valid number");
}
//else the value is within the result variable

从你的正则表达式看来你只需要整数值,所以你应该使用 int.TryParselong.TryParse相反。


快速而肮脏的测试程序:

void Main()
{
TestParse("1");
TestParse("a");
TestParse("1234");
TestParse("1a");
}

void TestParse(string text)
{
int result;
if (int.TryParse(text, out result))
{
Console.WriteLine(text + " is a number");
}
else
{
Console.WriteLine(text + " is not a number");
}
}

结果:

1 is a number 
a is not a number
1234 is a number
1a is not a number

关于c#检查文本框中的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23058408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com