Kotlin-Programm zum Überprüfen, ob ein String numerisch ist

In diesem Programm lernen Sie verschiedene Techniken, um zu überprüfen, ob eine Zeichenfolge in Kotlin numerisch ist oder nicht.

Beispiel 1: Überprüfen Sie, ob eine Zeichenfolge numerisch ist

 import java.lang.Double.parseDouble fun main(args: Array) ( val string = "12345s15" var numeric = true try ( val num = parseDouble(string) ) catch (e: NumberFormatException) ( numeric = false ) if (numeric) println("$string is a number") else println("$string is not a number") )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 12345s15 ist keine Nummer

Im obigen Programm haben wir eine Stringbenannte Zeichenfolge, die die zu überprüfende Zeichenfolge enthält. Wir haben auch einen booleschen numerischen Wert, der speichert, ob das Endergebnis numerisch ist oder nicht.

Um zu überprüfen , ob Zeichenfolge Zahlen enthält nur im Try - Block verwenden wir Double‚s parseDouble()Methode die Zeichenfolge in einem zu konvertieren Double.

Wenn es einen Fehler auslöst (dh einen NumberFormatExceptionFehler), bedeutet dies, dass der String keine Zahl ist und die Zahl auf gesetzt ist false. Sonst ist es eine Nummer.

Wenn Sie jedoch überprüfen möchten, ob für eine Reihe von Zeichenfolgen eine Änderung in eine Funktion erforderlich ist. Und die Logik basiert auf dem Auslösen von Ausnahmen, dies kann ziemlich teuer sein.

Stattdessen können wir die Potenz regulärer Ausdrücke verwenden, um zu überprüfen, ob die Zeichenfolge numerisch ist oder nicht, wie unten gezeigt.

Beispiel 2: Überprüfen Sie, ob eine Zeichenfolge numerisch ist oder nicht, indem Sie reguläre Ausdrücke verwenden (regulärer Ausdruck).

 fun main(args: Array) ( val string = "-1234.15" var numeric = true numeric = string.matches("-?\d+(\.\d+)?".toRegex()) if (numeric) println("$string is a number") else println("$string is not a number") )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 -1234.15 ist eine Zahl

Im obigen Programm verwenden wir anstelle eines Try-Catch-Blocks Regex, um zu überprüfen, ob die Zeichenfolge numerisch ist oder nicht. Dies erfolgt nach der matches()Methode von String .

In der matches()Methode

  • -?erlaubt null oder mehr -für negative Zahlen in der Zeichenfolge.
  • \d+Überprüft, ob die Zeichenfolge mindestens eine oder mehrere Zahlen haben muss ( \d).
  • (\.\d+)?erlaubt null oder mehr des gegebenen Musters, (\.\d+)in dem
    • \.prüft, ob die Zeichenfolge enthält .(Dezimalstellen) oder nicht
    • Wenn ja, sollte mindestens eine oder mehrere Nummern folgen \d+.

Hier ist der entsprechende Java-Code: Java-Programm, um zu überprüfen, ob eine Zeichenfolge numerisch ist oder nicht.

Interessante Beiträge...