[Kotlin/코틀린] String과 Int 변환 - String to Int, Int to String 변환 방법

2024. 11. 7. 19:25·Kotlin

숫자 데이터와 문자열 데이터를 서로 변환해서 사용하는 경우가 많이 있다.

String to Int와 Int to String에 대해서 기록하려고 한다.

 

String to Int

 

방법 1: toInt() 사용하기

toInt() 함수를 사용해 문자열을 정수로 변환할 수 있다. toInt() 함수는 변환할 수 없는 문자열을 만났을 때 예외를 발생시키는데, 예외 처리를 고려해야 한다.

val numberString = "123"
val number: Int = numberString.toInt()
println(number)  // 출력: 123

 

  • 동작 원리: toInt() 함수는 문자열을 정수로 변환, 변환할 수 없는 경우 예외를 발생
  • 예외 발생: 변환할 수 없는 문자열을 toInt()로 변환하려고 하면 NumberFormatException이 발생
val invalidNumberString = "abc"
val number: Int = invalidNumberString.toInt()  // 예외 발생: NumberFormatException

 

 

방법 2: toIntOrNull() 사용하기

toIntOrNull()은 문자열이 숫자로 변환 가능한지 확인하고, 변환 할 수 없는 경우 null로 반환

안전하게 변환할 수 있으며, 예외가 발생하지 않아서 유용하다.

val validString = "456"
val invalidString = "xyz"

val validNumber: Int? = validString.toIntOrNull()
val invalidNumber: Int? = invalidString.toIntOrNull()

println(validNumber)   // 출력: 456
println(invalidNumber) // 출력: null

val result = invalidString.toIntOrNull() ?: 0
println(result)  // 출력: 0

 

  • 동작 원리: toIntOrNull()은 변환 가능한 경우 정수 값을 반환하고, 변환할 수 없는 경우 null을 반환한다.
  • null 안전성: 변환 결과가 null일 수 있으므로, null 검사를 하거나 엘비스 연산자(?:)를 사용하여 기본값을 설정할 수 있다.

 

Int to String

 

방법 1: toString() 사용하기

val number = 789
val numberString: String = number.toString()
println(numberString)  // 출력: "789"

 

  • 동작 원리: toString() 함수는 숫자를 문자열로 변환합니다. 모든 숫자 타입에 사용할 수 있다.

 

방법 2: String Interpolation 사용하기

${} 문법을 사용하여 Int 값을 String으로 변환하면서 바로 문자열로 포함할 수 있다.

val number = 101
val message = "The number is $number"
println(message)  // 출력: "The number is 101"
  • 동작 원리: $number를 문자열 안에 포함하면 자동으로 toString()이 호출되어 문자열로 변환한다.

 

방법 3: String.format() 사용하기

String.format()을 사용하면, 형식을 지정하여 숫자를 문자열로 변환할 수 있다. 이를 통해 자릿수를 맞추거나 특정 형식을 갖춘 문자열을 생성할 수 있다.

val number = 5
val formattedString = String.format("The number is %03d", number)
println(formattedString)  // 출력: "The number is 005"
  • 동작 원리: String.format()은 포맷을 지정해 숫자를 문자열로 변환하며, %d는 정수에 대한 포맷으로 사용된다.

'Kotlin' 카테고리의 다른 글

[Kotlin/코틀린] @Parcelize / Parcelable을 사용한 직렬화와 역직렬화  (0) 2024.11.09
[Kotlin/코틀린] MVVM 패턴이란? - MVVM 패턴과 Counter 앱  (0) 2024.11.03
[Kotlin/코틀린] 인터페이스와 다중 상속이란?  (0) 2024.11.02
[Kotlin/코틀린] override와 super 개념  (0) 2024.11.02
'Kotlin' 카테고리의 다른 글
  • [Kotlin/코틀린] @Parcelize / Parcelable을 사용한 직렬화와 역직렬화
  • [Kotlin/코틀린] MVVM 패턴이란? - MVVM 패턴과 Counter 앱
  • [Kotlin/코틀린] 인터페이스와 다중 상속이란?
  • [Kotlin/코틀린] override와 super 개념
Haessae0
Haessae0
꾸준히 탐구하고 배우는 프로그래머의 기록. 깊이 있는 기술 이야기를 공유하고 싶습니다!
  • Haessae0
    민수의 기록장
    Haessae0
  • 전체
    오늘
    어제
  • 블로그 메뉴

    • 홈
    • Github
    • 분류 전체보기 (24)
      • Android (0)
      • CS (0)
      • Backend (2)
        • Web (1)
        • Java (1)
      • DB (2)
        • Oracle (2)
      • Java (6)
        • Algorithm (2)
        • Spring || SpringBoot (6)
      • Server (6)
        • Docker (3)
        • HomeServer (3)
      • Git & Github (1)
      • Kotlin (5)
      • Project (0)
        • 보류 (0)
  • 공지사항

  • 인기 글

  • 최근 글

  • 태그

    티스토리챌린지
    Kotlin
    도커
    스프링부트
    스프링
    코틀린
    SpringBoot
    타임리프
    오블완
    Spring
  • hELLO· Designed By정상우.v4.10.3
Haessae0
[Kotlin/코틀린] String과 Int 변환 - String to Int, Int to String 변환 방법
상단으로

티스토리툴바