개발 창고/Android

[Kotlin] How to do Type Casting

로이제로 2023. 12. 13. 22:00
반응형

 

전체 소스

try {
    val number = "123456"
    println("BASE >> $number")
    println("INT >> ${number.toInt()}")
    number.toIntOrNull()
    println("DOUBLE >> ${number.toDouble()}")
    println("FLOAT >> ${number.toFloat()}")

    println(" ")

    val bool = "true"
    println("BASE >> $bool")
    println("BOOLEAN >>  ${bool.toBoolean()}")

    println(" ")

    val str = 12345
    println("BASE >> $str")
    println("String >>  ${str.toString()}")

    println(" ")

    val err = "12345asdf"
    println("BASE >> $err")
    println("DOUBLE >>  ${err.toDoubleOrNull()}")
    println("DOUBLE >>  ${err.toDouble()}")
}catch(e:Exception){
    Log.e("ERROR", e.localizedMessage)
}

각 형변환 실행 결과

 

 

Method 설명

Method Description
toInt 객체를 Int형으로 변환
toIntOrNull 객체를 Int형으로 변환 (Null 허용)
toDouble 객체를 Double형으로 변환
toDoubleOrNull 객체를 Int형으로 변환 (Null 허용)
toFloat 객체를 FLoat형으로 변환
toFloatOrNull 객체를 FLoat형으로 변환 (Null 허용)
toBoolean 객체를 Boolean형으로 변환
toString 객체를 String형으로 변환

 각각의 메서드를 사용하여 변환 가능하며 만약 변환 하려는 객체가 올바르지 않은 경우 마지막 줄처럼 Exception이 발생하게 됩니다. 만약 오류로 발생하지 않고 Null로 반환하고 싶으면 위의 마지막에서 두 번째 결과처럼 ~~OrNull로 반환처리 가능합니다.

반응형