스칼라에서 문자열을 정수로 변환

Suraj P 2022년6월13일
스칼라에서 문자열을 정수로 변환

이 기사는 스칼라에서 Stringinteger로 변환하는 것을 다룰 것입니다.

Scala에서 문자열을 정수로 변환할 때 toInt 메서드 사용

Scala에서 String을 Integer로 변환하려면 toInt 메서드를 사용할 수 있습니다. String 개체에서 사용할 수 있습니다.

통사론:

our_String.toInt

예제 코드:

object MyClass {

    def main(args: Array[String]) {

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

    }
}

출력:

1234
int

toInt 메서드를 사용하여 "1234" 문자열을 정수로 캐스팅했지만 위 코드의 문제는 문자열이 순수 정수가 아닌 경우 다음 예제와 같이 NumberFormatException이 발생한다는 것입니다. 산출.

예제 코드:

object MyClass {

    def main(args: Array[String]) {

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

    }
}

출력:

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

따라서 try-catch 블록을 사용하여 이 예외를 처리해야 합니다. 이 다음 코드 조각은 문자열을 정수로 변환하고 예외를 처리하는 더 자바와 유사한 방법입니다.

예제 코드:

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)

    }
}

출력:

0

toInt 함수는 문자열을 변환할 수 있는 경우 올바른 값을 반환합니다(예: 입력이 "1234"인 경우). 그렇지 않으면 변환할 수 없는 경우 0을 반환합니다(예: 입력이 "scala"인 경우).

Option[]을 사용하여 문자열을 정수로 변환하는 또 다른 예를 들어보겠습니다.

예제 코드:

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)

    }
}

출력:

None

toInt 함수는 문자열을 변환할 수 있는 경우 Some(Int)를 반환합니다(예: 입력이 "1234"인 경우). 그렇지 않으면 정수로 변환할 수 없는 경우 None을 반환합니다.

Scala toInt 메소드와 Try, Success, Failure도 작성할 수 있습니다.

예제 코드:

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)

    }
}

출력:

Failure (java.lang.NumberFormatException: For input string: "scala")
작가: 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