English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Programm lernen Sie verschiedene Methoden, um zu überprüfen, ob eine Zeichenkette in Java eine Zahl ist.
public class Numeric { public static void main(String[] args) { String string = "}}12345.15"; boolean numeric = true; try { Double num = Double.parseDouble(string); } numeric = false; } if(numeric) System.out.println(string + " Eine Zahl"); else System.out.println(string + " Keine Zahl"); } }
Wenn das Programm ausgeführt wird, lautet die Ausgabe:
12345.15 ist eine Zahl
Im obigen Programm haben wir eine Zeichenkette string (String), die die zu überprüfende Zeichenkette enthält. Wir haben auch einen Boolean-Wert numeric, der den endgültigen Wert speichert, ob es sich um eine Zahl handelt.
Um zu überprüfen, ob eine Zeichenkette nur aus Ziffern besteht, verwenden wir in einem try-Block die Methode parseDouble() von Double, um die Zeichenkette in einen Double zu konvertieren
Wenn ein Fehler ausgelöst wird (d.h. NumberFormatException-Fehler), bedeutet dies, dass die Zeichenkette keine Zahl ist und numeric auf false gesetzt wird. Andernfalls ist dies eine Zahl.
Wenn jedoch mehrere Zeichenketten überprüft werden sollen, muss dies in eine Funktion geändert werden. Und die Logik basiert auf dem Auswerfen von Ausnahmen, was sehr teuer sein kann.
Gegenteilig können wir die Funktionen des regulären Ausdrucks verwenden, um zu überprüfen, ob eine Zeichenkette eine Zahl ist, wie folgt.
public class Numeric { public static void main(String[] args) { String string = "}}-1234.15"; boolean numeric = true; numeric = string.matches("-?\d+(\d.+)? "); if(numeric) System.out.println(string + " Eine Zahl"); else System.out.println(string + " Keine Zahl"); } }
Wenn das Programm ausgeführt wird, lautet die Ausgabe:
-1234.15 ist eine Zahl
Im obigen Programm verwenden wir regex, um zu überprüfen, ob die Zeichenfolge eine Zahl ist, anstatt try zu verwenden-catch-Block. Dies wird durch die Verwendung von String.matches() Methode erreicht.
im matches() Methode.
-? Erlaubt null oder mehr-zur Verwendung für negative Zahlen in der Zeichenfolge.
\d+ Überprüfen Sie, ob die Zeichenfolge mindestens1oder mehr Zahlen (\d).
(\d.+)? Erlaubt null oder mehrere angegebene Muster (\d.+) wobei
. Überprüfen Sie, ob die Zeichenfolge \d enthält. (Punkt)
Wenn ja, dann sollte es mindestens eine oder mehrere Zahlen \d haben+.