Heim >Java >JavaBase >So ermitteln Sie, ob es sich in Java um eine Zahl handelt

So ermitteln Sie, ob es sich in Java um eine Zahl handelt

尚
Original
2019-11-20 15:31:0013875Durchsuche

So ermitteln Sie, ob es sich in Java um eine Zahl handelt

So ermitteln Sie, ob es sich um eine Zahl in Java handelt:

1. Verwenden Sie reguläre Ausdrücke

/**
     * 利用正则表达式判断字符串是否是数字
     * @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;
    }

Verwenden Sie die JAVA-eigenen Funktionen

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. Verwenden Sie 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. Bestimmen Sie den ASCII-Codewert

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. Bestimmen Sie, ob die Zeichen in str 0-9 sind

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 abfangen

public static boolean isNumeric00(String str)
{
  try{
     Integer.parseInt(str);
     return true;
  }catch(NumberFormatException e)
  {
   System.out.println("异常:\"" + str + "\"不是数字/整数...");
   return false;
  }
}

Für weitere Java-Kenntnisse beachten Sie bitte das Java-Grundlagen-Tutorial.

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob es sich in Java um eine Zahl handelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn