推荐使用第二个方法,速度最快。
方法一:用JAVA自带的函数
1
2
3
4
5
6
7
8
|
public
static
boolean
isNumeric(String str){ for
( int
i = str.length();--i>= 0 ;){
if
(!Character.isDigit(str.charAt(i))){ return
false ; } } return
true ; } |
方法二:
1
2
3
4
5
6
7
8
9
10
11
|
/* *
判断是否为整数 *
@param str 传入的字符串 *
@return 是整数返回true,否则返回false */ public
static
boolean
isInteger(String str) { Pattern
pattern = Pattern.compile( "^[-\\+]?[\\d]*$" );
return
pattern.matcher(str).matches(); } |
方法三:
1
2
3
4
|
public
static
boolean
isNumeric(String str){ Pattern
pattern = Pattern.compile( "[0-9]*" ); return
pattern.matcher(str).matches(); } |
方法四:
1
2
3
4
5
6
|
public
final
static
boolean
isNumeric(String s) { if
(s != null
&& ! "" .equals(s.trim())) return
s.matches( "^[0-9]*$" ); else return
false ; } |
方法五:用ascii码
1
2
3
4
5
6
7
8
|
public
static
boolean
isNumeric(String str){ for ( int
i=str.length();--i>= 0 ;){ int
chr=str.charAt(i); if (chr< 48
|| chr> 57 ) return
false ; } return
true ; } |
附:判断是否是浮点数:
1
2
3
4
5
6
7
8
9
|
/*
*
判断是否为浮点数,包括double和float *
@param str 传入的字符串 *
@return 是浮点数返回true,否则返回false */ public
static
boolean
isDouble(String str) { Pattern
pattern = Pattern.compile( "^[-\\+]?[.\\d]*$" );
return
pattern.matcher(str).matches(); } |