[Kotlin] int To string 변환 : int 형 변수를 문자열로 변경하는 다양한 방법

int 타입 변수를 문자열(String) 타입으로 바꾸는 다양한 방법에 대해 알아보겠습니다.

저는 평소에 익숙한 toString() 을 많이사용하는 편인데, 이번 기회에 다양한 문자 변환 방법과 각 함수의 차이점에 대해 알아보았습니다.

 

 

1. toString() 함수 사용하기:

Int 변수나 상수에 toString() 함수를 호출하여 String으로 변환할 수 있습니다. toString() 함수는 Int 값을 해당하는 숫자의 문자열 표현으로 바꿉니다.

 

특징

- 가장 간단한 방법, 직관적인 코드 표현 가능

- toSTring() 함수는 10진수로 변환

val number: Int = 42
val strNumber: String = number.toString()

 


2. String Interpolation(문자열 보간법) 사용하기:

문자열 보간법을 사용하여 Int 값을 문자열로 바로 변환할 수 있습니다. 문자열 보간법은 $변수명 형태로 변수 값을 문자열에 삽입하는 간편한 방법입니다.

 

특징

- 변수를 문자열에 바로 삽입하여, 코드를 읽기 쉬움

- 기본적으로 10진수로 변환

val number: Int = 42
val strNumber: String = "$number"

// OR

print("number int To String : $number")

 


3. String.valueOf() 함수 사용하기:

String.valueOf() 함수를 사용하여 Int 값을 String으로 변환할 수 있습니다. 이 함수는 다양한 데이터 타입을 문자열로 변환할 때 사용됩니다.

 

특징

- String 클래스의 정적 메서드. 다양한 데이터 타입을 String 으로 변환함

val number: Int = 42
val strNumber: String = String.valueOf(number)

 


4. StringBuilder를 사용하여 변환하기:

StringBuilder를 사용하여 Int 값을 문자열로 변환할 수 있습니다. StringBuilder는 가변적인 문자열을 만들 때 효율적으로 사용할 수 있는 클래스입니다.

 

특징

- 가변적인 문자열을 생성하고 효율적으로 문자열을 조작할 수 있도록 지원하는 클래스

- 문자열을 연결하는 동작이 효율적으로 처리되어 성능 향상 기대

- 대량의 문자열 조작이 필요한 경우에 유용하며, 일반적인 간단한 경우에는 다소 복잡하고 불필요한 방법일 수 있음

val number: Int = 42
val strNumber: String = StringBuilder().append(number).toString()
// 활용 예시
// 숫자 n 이 주어 졌을때 "n, n+1, n+2, n+3 ..." 형태의 문자열을 출력하고자 하는 경우

fun concatenateNumbers(n: Int): String {
    val stringBuilder = StringBuilder()

    for (i in 1..n) {
        stringBuilder.append(i)
        stringBuilder.append(", ")
    }

    // 마지막에 ", "를 제거하여 문자열 완성
    stringBuilder.setLength(stringBuilder.length - 2)

    return stringBuilder.toString()
}

fun main() {
    val n = 5
    val concatenatedNumbers = concatenateNumbers(n)
    println(concatenatedNumbers) // 출력: "1, 2, 3, 4, 5"
}

 

 

5. String.format() 함수 사용하기:

String.format() 함수를 사용하여 Int 값을 문자열로 변환할 수 있습니다. 이 함수는 포맷 문자열과 값을 결합하여 문자열을 생성합니다.

 

특징

- String 클래스의 정적 메서드. C언어의 printf 와 비슷한 방식으로 포맷 문자열을 사용하여 문자열 생성

- 특정 형식에 맞추어 int 값을 문자열로 변환할 수 있음. ex) %d: 10진수, %x: 16진수

val number: Int = 42
val strNumber: String = String.format("%d", number)

 

 


일반적으로는 1, 2번을 사용하는게 가장 간단할 것으로 보입니다만 ㅎㅎ

뭐든 알아두면 언젠가 한번은 쓰게되니까요! 도움이 되셨으면 좋겠습니다.