본문 바로가기

Kotlin

[Kotlin] 여러 가지 타입 변환

728x90

코틀린에서는 형변환(타입 변환)은 다양한 방식으로 이루어집니다.

기본적으로 자동 형변환을 제공하지 않으며, 명시적으로 변환을 해야합니다.

 

 

1. Int -> Double

정수형(Int)을 실수형(Double)으로 변환할 때 toDouble() 함수를 사용합니다.

val intNum: Int = 10
val doubleNum: Double = intNum.toDouble()

println(doubleNum)  // 출력: 10.0

2. Double -> Int

실수형(Double)을 정수형(Int)으로 변환할 때는 toInt()를 사용합니다. 이때 소수점은 버려집니다(내림).

val doubleNum: Double = 9.99
val intNum: Int = doubleNum.toInt()

println(intNum)  // 출력: 9

3. String -> Int

문자열(String)을 정수형(Int)으로 변환하려면 toInt()를 사용합니다. 숫자가 아닌 문자열을 변환하려고 하면 예외가 발생할 수 있습니다.

val str: String = "123"
val intNum: Int = str.toInt()

println(intNum)  // 출력: 123

잘못된 문자열을 변환하려고 할 경우:

val str: String = "abc"
val intNum: Int? = str.toIntOrNull()  // null을 반환

4. Int -> String

정수형(Int)을 문자열(String)로 변환할 때는 toString()을 사용합니다.

val intNum: Int = 456
val str: String = intNum.toString()

println(str)  // 출력: "456"

5. Char -> String

문자(Char)를 문자열(String)로 변환할 때도 toString()을 사용합니다.

val char: Char = 'A'
val str: String = char.toString()

println(str)  // 출력: "A"

6. String -> Char

문자열에서 첫 번째 문자를 추출하여 Char로 변환할 수 있습니다.

val str: String = "Kotlin"
val char: Char = str[0]

println(char)  // 출력: 'K'

 

7. Char -> Int

val char: Char = '3'
val intNum: Int = char.code
println(intNum)  // 출력: 51

 

val intNum2: Int = char.digitToInt()
println(intNum2)  // 출력: 3
  • 유니코드 값 사용 (char.code)
    • char.code는 해당 문자의 유니코드 값을 반환합니다. 예를 들어, 문자 '3'의 유니코드 값은 51입니다.
    • 참고: 'A'의 유니코드 값은 65이며, 이는 아스키 코드와 동일한 값입니다. 이렇게 유니코드 값을 활용하여 문자와 정수 간의 변환을 할 수 있습니다.
  • 문자 숫자 변환 (char.digitToInt())
    • char.digitToInt()는 문자 '3'를 정수 3으로 변환합니다. 이 메서드는 문자 표현이 숫자인 경우에만 올바르게 작동합니다. 만약 문자가 숫자가 아닐 경우, IllegalArgumentException을 발생시킵니다.
    • 이 메서드는 특정 문자를 숫자로 취급할 수 있도록 하여, 입력값이 숫자일 때 쉽게 변환할 수 있는 방법을 제공합니다.

 

 

8. Int -> Char

정수형(Int)을 문자(Char)로 변환할 때는 toChar()를 사용합니다.

val intNum: Int = 65
val char: Char = intNum.toChar()

println(char)  // 출력: 'A'

9. String -> Double

문자열을 실수형(Double)으로 변환하려면 toDouble()을 사용합니다.

val str: String = "12.34"
val doubleNum: Double = str.toDouble()

println(doubleNum)  // 출력: 12.34

10. Double -> String

실수형(Double)을 문자열(String)로 변환할 때는 toString()을 사용합니다.

val doubleNum: Double = 56.78
val str: String = doubleNum.toString()

println(str)  // 출력: "56.78"

11. Boolean -> String

Boolean 값을 문자열로 변환할 때도 toString()을 사용합니다.

val boolValue: Boolean = true
val str: String = boolValue.toString()

println(str)  // 출력: "true"

12. String -> Boolean

문자열을 Boolean으로 변환하려면 toBoolean()을 사용합니다. "true" (대소문자 구분 없음)은 true, 그 외 값은 false를 반환합니다.

val str: String = "true"
val boolValue: Boolean = str.toBoolean()

println(boolValue)  // 출력: true

13. Any -> String

모든 코틀린 객체는 toString() 메서드를 사용할 수 있습니다. 이는 모든 타입이 Any에서 상속받은 공통 메서드입니다.

val anyValue: Any = 123
val str: String = anyValue.toString()

println(str)  // 출력: "123"

 

728x90