달나라 노트

Kotlin - toString(), toInt(), toDouble(), toIntOrNull(), toDoubleOrNull() (Datatype의 변경) 본문

Kotlin

Kotlin - toString(), toInt(), toDouble(), toIntOrNull(), toDoubleOrNull() (Datatype의 변경)

CosmosProject 2021. 3. 18. 03:32
728x90
반응형

 

 

 

fun main() {
    var x: Int = 1 // 1
    println(x.toString()) // 2


    var y: String = "1" // 3
    println(y.toInt()) // 4


    var z: String = "A" // 5
    // println(z.toInt()) // 6 // Error
    
    var a: String = "1" // 7
    println(a.toDouble())
}



-- Result
1
1
1.0

Kotlin에서 toString() 함수와 toInt()함수는 아래와 같은 기능을 합니다.

value.toString() -> 어떠한 값을 String data type으로 변경합니다.

value.toInt() -> 어떠한 값을 Int data type으로 변경합니다.

 

1. 변수 x에 1이라는 int값을 assign합니다.

 

2. x는 int였으나 toString 함수가 1을 String의 형태로 바꿉니다.

 

3. 변수 y에 1이라는 String 값을 assign합니다.(값 자체는 1이라는 숫자이지만 쌍따옴표로 감싸져있으므로 이것은 String입니다.)

 

4. String이었던 변수 y의 1 값을 toInt 함수가 Int data type으로 변경합니다.

 

5. 변수 z에 A라는 값을 할당합니다.

 

6. z에 toInt 함수를 적용하였지만 A라는 문자는 정수(int)로 변경될 수 없는 문자이므로 Error가 발생합니다.

 

7. toDouble() 함수는 String을 소수점이 존재하는 Double로 변경합니다.

 

 

 

 

 

 

fun main() {
    var x: String = "1" // 1
    println(x.toIntOrNull()) // 1


    var y: String = "A" // 2
    println(y.toIntOrNull()) // 2


    var z: String = "1" // 3
    println(z.toDoubleOrNull()) // 3


    var a: String = "A" // 4
    println(y.toDoubleOrNull()) // 4
}



-- Result
1
null
1.0
null

1, 2. toIntOrNull() 함수는 String을 Int로 변경 시도한 후 변경에 성공하면 Int type data를, 변경에 실패하면 null값을 반환합니다.

 

3, 4. toDoubleOrNull() 함수는 String을 Double로 변경 시도한 후 변경에 성공하면 Double type data를, 변경에 실패하면 null값을 반환합니다.

 

toIntOrNull과 toDoubleOrNull을 잘 사용하면 exception case를 다룰 때 유용하게 사용될 수 있습니다.

 

 

 

 

728x90
반응형
Comments