如火热判断输入的是否为字母或者数字,记得有个方法,但是不知道是哪一个
有现成的静态函数 bool 检测
char c;
...
char.IsLetter(c) --- 检测 c =字母
char.IsDigit(c) --- 检测 c =数字
char.IsControl(c) --- 检测 c =控制符
如果是其他类型的,就必须转换为char类型的么?
@java-001: 你想实现什么功能?
@粗线条: 如果是想要判断输入的字符串是数字之后再计算的话可以用,
double d = 0;
if (double.TryParse("要判断的字符串",out d))
{
//关于d的一些操作
}
@粗线条: 我做了一个图书管理系统,我想在输入学生信息的时候限制输入的学号只能为数字,用的swing组件
@java-001: 没用过这个组件。不过应该可以在文本框失去焦点后去判断:
try
{
Int32.Parse(s);//s为输入的字符串,不太清楚学好的规则,如果不以0开头而且是小与2147483647的话用这个没问题
}
catch(Exception ex)
{
//转换失败后,清楚文本框,提示输入数字之类的操作
}
试试看这样行不行
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 ("不满足!");
}
如果此处我用的字符串数字比较大,是否可以修改为
pattern p=pattern.compile("long");
这样书写可以么?因为我要判断的数值比较大
@java-001: 里面是正则表达式的写法,出现5-9之间的数就为真,不能写成类型long。
如果数比较大,可以采用循环,一位一位判断。