Konvertieren von String in Integer in Scala

Suraj P 13 Juni 2022
Konvertieren von String in Integer in Scala

Dieser Artikel befasst sich mit der Umwandlung eines Strings in eine Ganzzahl in Scala.

Verwendung von die toInt-Methode beim Konvertieren von String in Integer in Scala

Wenn wir in Scala einen String in eine Ganzzahl konvertieren möchten, können wir die Methode toInt verwenden. Es ist für String-Objekte verfügbar.

Syntax:

our_String.toInt

Beispielcode:

object MyClass {

    def main(args: Array[String]) {

        val str = "1234"
        val number = str.toInt
        println(number)
        println(number.getClass)

    }
}

Ausgabe:

1234
int

Wir haben die Methode toInt verwendet, um die Zeichenfolge "1234" in eine Ganzzahl umzuwandeln, aber das Problem mit dem obigen Code ist, dass wir, wenn die Zeichenfolge keine reine Ganzzahl ist, genau wie im folgenden Beispiel NumberFormatException erhalten Ausgang.

Beispielcode:

object MyClass {

    def main(args: Array[String]) {

        val str = "scala"
        val number = str.toInt
        println(number)
        println(number.getClass)

    }
}

Ausgabe:

java.lang.NumberFormatException: For input string: "scala"
    at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)

Also müssen wir diese Ausnahme mit einem try-catch-Block behandeln. Dieses nächste Code-Snippet ist eine eher Java-ähnliche Methode, um einen String in eine Ganzzahl umzuwandeln und die Ausnahme zu behandeln.

Beispielcode:

object MyClass {

    def toInt(str: String): Int =
    {
  try {
    str.toInt
  }
  catch {
    case ex: Exception => 0
  }
}

    def main(args: Array[String]) {

        val str = "scala"
        val number = toInt(str)
        println(number)

    }
}

Ausgabe:

0

Die Funktion toInt gibt den korrekten Wert zurück, wenn der String konvertiert werden kann (wie wenn die Eingabe "1234" ist); andernfalls wird 0 zurückgegeben, wenn eine Konvertierung nicht möglich ist (z. B. wenn die Eingabe "scala" ist).

Lassen Sie uns ein weiteres Beispiel für die Umwandlung eines Strings in eine Ganzzahl mit Option[] haben.

Beispielcode:

object MyClass {

    def toInt(str: String): Option[Int] =
    {
  try {
    Some(str.toInt)
  }
  catch {
    case ex: Exception => None
  }
}

    def main(args: Array[String]) {

        val str = "scala"
        val number = toInt(str)
        println(number)

    }
}

Ausgabe:

None

Die Funktion toInt gibt Some(Int) zurück, wenn der String konvertiert werden kann (wie wenn die Eingabe "1234" ist); andernfalls gibt es None zurück, wenn es nicht möglich ist, es in eine Ganzzahl umzuwandeln.

Wir können auch unsere Scala-Methode toInt und Try, Sucess und Failure schreiben.

Beispielcode:

import scala.util.{Try, Success, Failure}

object MyClass {

def makeInt(str: String): Try[Int] = Try(str.trim.toInt)

    def main(args: Array[String]) {

        val str = "scala"
        val number = makeInt(str)
        println(number)

    }
}

Ausgabe:

Failure (java.lang.NumberFormatException: For input string: "scala")
Autor: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub