c#如何判断文本框中是不是是数字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#如何判断文本框中是不是是数字相关的知识,希望对你有一定的参考价值。

是用正则表达式
public bool IsNum(String strNumber)

Regex objNotNumberPattern=new Regex("[^0-9.-]");
Regex objTwoDotPattern=new Regex("[0-9]*[.][0-9]*[.][0-9]*");
Regex objTwoMinusPattern=new Regex("[0-9]*[-][0-9]*[-][0-9]*");
String strValidRealPattern="^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$";
String strValidIntegerPattern="^([-]|[0-9])[0-9]*$";
Regex objNumberPattern =new Regex("(" + strValidRealPattern +")|(" + strValidIntegerPattern + ")");

return !objNotNumberPattern.IsMatch(strNumber) &&
!objTwoDotPattern.IsMatch(strNumber) &&
!objTwoMinusPattern.IsMatch(strNumber) &&
objNumberPattern.IsMatch(strNumber);

试过很多还是觉得这个好,全面且速度快,try+catch判断一个还行,上百个就傻了
参考技术A Regex x = new Regex("^[0-9]*$");
if (x.IsMatch(TextBox1.Text))

Response.Write("正确");

else

Response.Write("错误");



try 和 catch ..... 有点影响性能
参考技术B try

double a = Convert.ToDouble(textBox1.Text);
//是

catch

//不是
参考技术C 正则表达式

或者在后台判断
if(int.tryparse(textbox1.text))
return ;
else
messagebox.show("请输入正确的数字");
参考技术D 用正则表达式

如果是后台的话也可以
double a=0;
bool isnum = double.TryParse(txt.Text,out a);

qt中如何判断光标在哪个文本框中啊

或者转变为:qt中如何指向当前文本框啊(具体不知道是哪一个)

请问你具体是想做什么操作,你想获取当前的光标在哪个文本框中?还是需要判断哪个文本框正在活动?
这个不如用QWidget下的isActiveWindow()函数来获取哪个文本框是活动状态
参考技术A setFocus();使当前文本框获得焦点 参考技术B 同求啊、、

用事件过滤器 可以解决。。

以上是关于c#如何判断文本框中是不是是数字的主要内容,如果未能解决你的问题,请参考以下文章

C#中如何检查文本框的输入信息是不是为数字?

c#中的文本框里怎么判断输入的内容是啥类型

java如何在输入框中判断是不是输入的是数字?

C#:更改文本框中的数字

asp.net怎么限制文本框输入的类型c#

c# 将从单个文本框中获取的多个值分配给标签