Verwendung der Apache Commons-Bibliothek
Die Apache Commons-Bibliothek bietet einige Methoden, um zu überprüfen, ob eine Zeichenkette numerisch ist oder nicht.
NumberUtils.isCreatable() Methode
Die isCreatable()-Methode ist eine einfache und bequeme Methode, um zu überprüfen, ob eine Zeichenkette numerisch ist. Sie akzeptiert auch numerische Zeichenketten von Hexadezimalzahlen, die mit 0x oder oX beginnen, Oktalzahlen, die mit 0 beginnen, wissenschaftliche Notationen, die das Zeichen e verwenden, und akzeptiert auch Zahlen, die mit einem Typqualifizierer markiert sind.
import org.apache.commons.lang3.math.NumberUtils;
public static void main(String[] args) {
String num1 = "a10c";
String num2 = "-104";
String num3 = "100";
String num4 = "0xA10";
System.out.println("String " + num1 + " is numeric: " + NumberUtils.isCreatable(num1));
System.out.println("String " + num2 + " is numeric: " + NumberUtils.isCreatable(num2));
System.out.println("String " + num3 + " is numeric: " + NumberUtils.isCreatable(num3));
System.out.println("String " + num4 + " is numeric: " + NumberUtils.isCreatable(num4));
}
NumberUtils.isParsable() Methode
Die isParsable()-Methode wird verwendet, um zu überprüfen, ob eine Zeichenkette analysierbar ist oder nicht. Sie kann nicht mit Hexadezimalzahlen oder wissenschaftlichen Notationen wie die isCreatable()-Methode umgehen.
import org.apache.commons.lang3.math.NumberUtils;
public static void main(String[] args) {
String num1 = "a10c";
String num2 = "-104";
String num3 = "100";
String num4 = "0xA10";
System.out.println("String " + num1 + " is numeric: " + NumberUtils.isParsable(num1));
System.out.println("String " + num2 + " is numeric: " + NumberUtils.isParsable(num2));
System.out.println("String " + num3 + " is numeric: " + NumberUtils.isParsable(num3));
System.out.println("String " + num4 + " is numeric: " + NumberUtils.isParsable(num4));
}
StringUtils.isNumeric() Methode
Die isNumeric()-Methode überprüft auf Unicode-Ziffern und gibt false zurück, wenn die numerische Zeichenkette eine negative Zahl darstellt oder einen Dezimalpunkt enthält. Diese Methode sollte nur berücksichtigt werden, wenn wir nur nach positiven ganzen Zahlen suchen.
import org.apache.commons.lang3.StringUtils;
public static void main(String[] args) {
String num1 = "a10c";
String num2 = "-104";
String num3 = "100";
String num4 = "0.11";
System.out.println("String " + num1 + " is numeric: " + StringUtils.isNumeric(num1));
System.out.println("String " + num2 + " is numeric: " + StringUtils.isNumeric(num2));
System.out.println("String " + num3 + " is numeric: " + StringUtils.isNumeric(num3));
System.out.println("String " + num4 + " is numeric: " + StringUtils.isNumeric(num4));
}
StringUtils.isNumericSpace() Methode
Die isNumericSpace()-Methode überprüft auch auf Leerzeichen. Wenn eine Zeichenkette vom Typ "19 8" ist, wird diese Methode true zurückgeben. Sie wird auch true zurückgeben, wenn die Zeichenkette nur aus Leerzeichen besteht.
import org.apache.commons.lang3.StringUtils;
public static void main(String[] args) {
String num1 = "a10c";
String num2 = " ";
String num3 = "100";
String num4 = "0.11";
System.out.println("String " + num1 + " is numeric: " + StringUtils.isNumeric(num1));
System.out.println("String " + num2 + " is numeric: " + StringUtils.isNumeric(num2));
System.out.println("String " + num3 + " is numeric: " + StringUtils.isNumeric(num3));
System.out.println("String " + num4 + " is numeric: " + StringUtils.isNumeric(num4));
}