Wie würden Sie prüfen, ob ein String eine Zahl ist, bevor Sie ihn parsen?
"es ist eine zu große Nummer" So etwas wie eine "zu große Zahl" gibt es nicht. Zahlen sind unendlich. 7645
ist eine Zahl und 92847294729492875982452012471041141990140811894142729051
ist auch eine Zahl. Die erste kann als eine Integer
und die zweite kann dargestellt werden als BigDecimal
. Und selbst wenn sie nicht als Objekt in Java dargestellt werden könnten, sind sie immer noch Zahlen - und genau das ist die Frage, die gestellt wird.
42 Stimmen
Alle Lösungen, die mit regulären Ausdrücken vorgeschlagen werden, funktionieren nicht für hexadezimale Zahlen.
0 Stimmen
Und die Übergabe einer Null-Zeichenkette in der Funktion matches(...) führt zur Ausnahme NullPointer.
0 Stimmen
In der Antwort von Max Malysh finden Sie eine prägnante Java 8-Lösung ohne Bibliotheken von Drittanbietern.
0 Stimmen
@HiteshSahu Null-Strings scheinen in der neuesten Version (einschließlich Java 6.x und 7.x) ordnungsgemäß behandelt zu werden.
0 Stimmen
Alle vorgeschlagenen Lösungen zur Verwendung
Integer.parseInt()
nicht in der Lage, Handynummern zu analysieren, dieNumberFormatException
.0 Stimmen
@OscarCastiblanco Alle Zeichenketten sind Zahlen in einer bestimmten Basis.