Java中判断字符串是否为数字的五种方法
Java中判断字符串是否为数字的五种方法
https://www.cnblogs.com/heyuxiu/p/5972187.html
1 //方法一:用JAVA自带的函数 2 public static boolean isNumeric(String str){ 3 for (int i = str.length();--i>=0;){ 4 if (!Character.isDigit(str.charAt(i))){ 5 return false; 6 } 7 } 8 return true; 9 }
/*方法二:推荐,速度最快 * 判断是否为整数 * @param str 传入的字符串 * @return 是整数返回true,否则返回false */ public static boolean isInteger(String str) { Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$"); return pattern.matcher(str).matches(); }
//方法三: public static boolean isNumeric(String str){ Pattern pattern = Pattern.compile("[0-9]*"); return pattern.matcher(str).matches(); }
//方法四: public final static boolean isNumeric(String s) { if (s != null && !"".equals(s.trim())) return s.matches("^[0-9]*$"); else return false; }
//方法五:用ascii码 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; }
转自:http://javapub.iteye.com/blog/666544
(转)java判断string变量是否是数字的六种方法小结
1.用正则表达式
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
/** * 利用正则表达式判断字符串是否是数字 * @param str * @return */ public boolean isNumeric(String str){ Pattern pattern = Pattern.compile("[0-9]*"); Matcher isNum = pattern.matcher(str); if( !isNum.matches() ){ return false; } return true; }
2.用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; }
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下面的解释: 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
4、判断ASCII码值
public static boolean isNumeric0(String str)
{
for(int i=str.length();--i>=0;)
{ int chr=str.charAt(i); if(chr<48 || chr>57) return false;
} return true; }
5、逐个判断str中的字符是否是0-9
public static boolean isNumeric3(String str)
{ final String number = "0123456789"; for(int i = 0;i < number.length; i ++)
{
if(number.indexOf(str.charAt(i)) == -1)
{
return false; } } return true; }
6、捕获NumberFormatException异常
public static boolean isNumeric00(String str)
{ try{ Integer.parseInt(str); return true; }catch(NumberFormatException e)
{ System.out.println("异常:\"" + str + "\"不是数字/整数..."); return false; } }
https://www.cnblogs.com/guop/p/5216836.html
分类: Java