首页 新闻 搜索 专区 学院

关于如何判断输入的是否为字母或者是数字

0
悬赏园豆:5 [已解决问题] 解决于 2014-04-18 11:38

如火热判断输入的是否为字母或者数字,记得有个方法,但是不知道是哪一个

java-001的主页 java-001 | 初学一级 | 园豆:4
提问于:2014-04-18 11:30
< >
分享
最佳答案
1

有现成的静态函数 bool 检测
char c;
...

char.IsLetter(c) --- 检测 c =字母

char.IsDigit(c) --- 检测 c =数字

char.IsControl(c) --- 检测 c =控制符

收获园豆:5
粗线条 | 初学一级 |园豆:196 | 2014-04-18 11:37

如果是其他类型的,就必须转换为char类型的么?

java-001 | 园豆:4 (初学一级) | 2014-04-18 11:39

@java-001: 你想实现什么功能?

粗线条 | 园豆:196 (初学一级) | 2014-04-18 12:14

@粗线条: 如果是想要判断输入的字符串是数字之后再计算的话可以用, 

         double d = 0;
            if (double.TryParse("要判断的字符串",out d))
            {
               //关于d的一些操作

            }

粗线条 | 园豆:196 (初学一级) | 2014-04-18 12:20

@粗线条: 我做了一个图书管理系统,我想在输入学生信息的时候限制输入的学号只能为数字,用的swing组件

java-001 | 园豆:4 (初学一级) | 2014-04-18 12:44

@java-001: 没用过这个组件。不过应该可以在文本框失去焦点后去判断:

try

{

    Int32.Parse(s);//s为输入的字符串,不太清楚学好的规则,如果不以0开头而且是小与2147483647的话用这个没问题

}

catch(Exception ex)

{

  //转换失败后,清楚文本框,提示输入数字之类的操作

}  

试试看这样行不行

粗线条 | 园豆:196 (初学一级) | 2014-04-18 13:29
其他回答(1)
1

1、在C的String.h里有一个系统函数:isdigit(c),若为数字返回真,否则为假;

2、在Java中用正则表达式:

用正则表达式:
String str = "5";
Pattern p = Pattern.compile("[5-9]");
Matcher m = p.matcher(str);
if(m.matches()){
System.out.println ("满足!");
}else{
System.out.println ("不满足!");
}

路上的脚印 | 园豆:218 (菜鸟二级) | 2014-04-18 11:42

如果此处我用的字符串数字比较大,是否可以修改为

pattern p=pattern.compile("long");

这样书写可以么?因为我要判断的数值比较大

支持(0) 反对(0) java-001 | 园豆:4 (初学一级) | 2014-04-18 11:48

@java-001: 里面是正则表达式的写法,出现5-9之间的数就为真,不能写成类型long。

如果数比较大,可以采用循环,一位一位判断。

支持(0) 反对(0) 路上的脚印 | 园豆:218 (菜鸟二级) | 2014-04-18 14:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册