java判断是否数字
⑴ java中怎么判断一个字符串是否为数字
可以使用Character类的isDigit逐位判断。但是这样无法判断小数、负数。
也可以直接使用正则:
Pattern
pattern
=
Pattern.compile("-?[0-9]+\\.?[0-9]*");
String
str
=
"-55.5555";
Matcher
isNum
=
pattern.matcher(str);
if(
isNum.matches()
){
System.out.println("数字");
}
⑵ java如何做到判断一个字符串是否是数字。
如果只是判断,可与用integer.parseint(string)如果是数字,就没有异常,如果有异常,就不是数字
或者用正则表达式
return
string.matches("\\d+\\.?\\d*"));
这个语句就是用来判断的
\\d+表示一个或者多个数字
\\.?
表示一个或这没有小数点
\\d
*
表示0个或者多个数字
⑶ java中怎么判断指定的数据是字符串是否是数字
java中判断字符串是否为数字的方法:
1.用JAVA自带的函数
public static boolean isNumeric(String str){for (int i = 0; i < str.length(); System.out.println(str.charAt(i));
if (!Character.isDigit(str.charAt(i))){return false;} }return true}
2.用正则表达式
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
public boolean isNumeric(String str){ Pattern pattern = Pattern.compile("[0-9]*");
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ){ return false; } return true; }
⑷ java怎么判断一个字符串是否是数字
如果只是判断,可与用integer.parseint(string)如果是数字,就没有异常,如果有异常,就不是数字
或者用正则表达式
return
string.matches("\\d+\\.?\\d*"));
这个语句就是用来判断的
\\d+表示一个或者多个数字
\\.?
表示一个或这没有小数点
\\d
*
表示0个或者多个数字
⑸ Java中判断字符串是否为数字的几种方法
1.使用Character.isDigit(char)判断
char num[] = str.toCharArray();//把字符串转换为字符数组
StringBuffer title = new StringBuffer();//使用StringBuffer类,把非数字放到title中
StringBuffer hire = new StringBuffer();//把数字放到hire中
for (int i = 0; i < num.length; i++) {
// 判断输入的数字是否为数字还是字符
if (Character.isDigit(num[i])) {把字符串转换为字符,再调用Character.isDigit(char)方法判断是否是数字,是返回True,否则False
hire.append(num[i]);// 如果输入的是数字,把它赋给hire} else {title.append(num[i]);// 如果输入的是字符,把它赋给title}}}
2.使用类型转换判断try {String str="123abc";
int num=Integer.valueOf(str);//把字符串强制转换为数字
return true;//如果是数字,返回True
} catch (Exception e) {
return false;//如果抛出异常,返回False}
3.使用正则表达式判断
String str = "";
boolean isNum = str.matches("[0-9]+");
//+表示1个或多个(如"3"或"225"),*表示0个或多个([0-9]*)(如""或"1"或"22"),?表示0个或1个([0-9]?)(如""或"7")
ps:这个方法只能用于判断是否是正整数
⑹ Java中怎样判断一个字符串是否是数字
用java的异常机制,不仅可以判断是否是数字,还可以判断整数或者小数:
public void checkInt(String bh){
try{
int num = Integer.parseInt(bh);//将输入的内容转换成int
System.out.println("是整数:"+num);//是整数
}catch (NumberFormatException e) {//转换成int类型时失败
try{
double d =Double.parseDouble(bh);//转成double类型
System.out.println("是小数:"+d);//是小数
}catch (NumberFormatException e2) {//转成double类型失败
System.out.println("不是数字");
}
}
}
⑺ java中判断一个字符串是不是数字
Stringstr="123abc";
if(!"".equals(str)){
charnum[]=str.toCharArray();//把字符串转换为字符数组
StringBuffertitle=newStringBuffer();//使用StringBuffer类,把非数字放到title中
StringBufferhire=newStringBuffer();//把数字放到hire中
for(inti=0;i<num.length;i++){
//判断输入的数字是否为数字还是字符
if(Character.isDigit(num[i])){把字符串转换为字符,再调用Character.isDigit(char)方法判断是否是数字,是返回True,否则False
hire.append(num[i]);//如果输入的是数字,把它赋给hire
}else{
title.append(num[i]);//如果输入的是字符,把它赋给title
}
}
}
⑻ java中 怎么判断一个字符是数字
//这个你可以用正则表达式来筛选,其实你明白其中道理就可以了打个比方!
//chara='0';
//charb=0;
这个二个是不一样的,怎么来比较这个不一样,可以用个偷懒的办法,都加0就可以实现了!
a+0=48;
b+0=0;
所以可以结论出,char类型:'0','1','2'....'9';
可以用(48--57)这个范围来判断他们是数字字符还是,其他字符!
而chara=0,b=1,c=2;他们加0还是自身,就可以用(0---9)这个范围来判断!
其他其实a---z或者A--Z都有自己的范围,我就不在例举了,道理其实很简单!
我用一个简单的判断,遍历一个数组,你看看吧!
publicclass字符是数
{
publicstaticvoidmain(String[]args)
{
System.out.println(" ==========java中怎么判断一个字符是数字!========== ");
init();
}//初始化!
privatestaticvoidinit()
{
char[]arr={'0','9','a',0,'b',9,'W'};
for(inti=0;i<arr.length;i++)
{
if((arr[i]+0>=48)&&(arr[i]+0<=57))
System.out.println("第"+(i+1)+"个是数字字符");
elseif((arr[i]+0>=0)&&(arr[i]+0)<=9)
System.out.println("第"+(i+1)+"个是纯数字!");
else
System.out.println("第"+(i+1)+"个是其他字符");
}
}
}
⑼ Java怎样判断输入是否为数字
我不是很明白您的意思,但我想是这样的,如果你在循环中要判断用户是否输入了数字的话,也许可以检查一下number的值是否为空。空则无数字,非空可能就是有数字,不过我对java不大熟悉,仅供参考
⑽ java判断string是不是数字
java中判断字符串是否为数字的方法:
1.用JAVA自带的函数
public static boolean isNumeric(String str){
for (int i = 0; i < str.length(); i++){
System.out.println(str.charAt(i));
if (!Character.isDigit(str.charAt(i))){
return false;
}
}
return true;
}
2.用正则表达式
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
public boolean isNumeric(String str){
Pattern pattern = Pattern.compile("[0-9]*");
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ){
return false;
}
return true;
}
3.使用org.apache.commons.lang
org.apache.commons.lang.StringUtils;
boolean isNunicodeDigits=StringUtils.isNumeric("aaa123456789");
http://jakarta.apache.org/commons/lang/api-release/index.html下面的解释:
isNumeric
public static boolean isNumeric(String str)Checks if the String contains only unicode digits. A decimal point is not a unicode digit and returns false.
null will return false. An empty String ("") will return true.
StringUtils.isNumeric(null) = false
StringUtils.isNumeric("") = true
StringUtils.isNumeric(" ") = false
StringUtils.isNumeric("123") = true
StringUtils.isNumeric("12 3") = false
StringUtils.isNumeric("ab2c") = false
StringUtils.isNumeric("12-3") = false
StringUtils.isNumeric("12.3") = false
Parameters:
str - the String to check, may be null
Returns:
true if only contains digits, and is non-null
上面三种方式中,第二种方式比较灵活。