스칼라에서 문자열을 정수로 변환
Suraj P
2022년6월13일
이 기사는 스칼라에서 String
을 integer
로 변환하는 것을 다룰 것입니다.
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")