首页 > 开发 > 综合 > 正文

C#验证输入的是否数字的方法

2024-07-21 02:26:23
字体:
来源:转载
供稿:网友
其实用正则表达式也可以
static bool isnumeric(string str)
{
if (str==null || str.length==0)
return false;
foreach(char c in str)
{
if (!char.isnumber(c))
{
return false;
}
}
return true;
}

正则表达的写法是:


static bool isnumeric(string str)
{
system.text.regularexpressions.regex reg1
= new system.text.regularexpressions.regex(@"^[-]?/d+[.]?/d*$");
return reg1.ismatch(str);
}


其实最单的是用vb.net中的函数,以下代码段
using microsoft.visualbasic

information.isnumeric(str_input)
返回true或false判断是否数字
不过在编译时要加上-lmicrosoft.visualbasic才能编译成功
csdn 网友 ( 2005-11-24)
那如果直接这么作呢
try{
float f=float.parse(temp);
}
catch(exception ex)
{
messagebox.show("这不是数字");
}
dancefire ( 2005-11-13)
我觉得正则表达式不太正确,小数点前面的前导零应该允许省略,小数点后面的0,也允许省略,但不允许单独以小数点形式出现。你的这个表达式无法满足前导零省略的情况。而且,最重要的,"."在正则表达式中表示任意字符,因此,对于你的表达式,2a2,也能够通过测试。
^[-]?/d+[.]?/d*$

应该改为如下所示:
^[-]?(/d+/.?/d*|/./d+)$ 
国内最大的酷站演示中心!
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表