일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- PANDAS
- django
- gas
- Redshift
- math
- SQL
- Kotlin
- string
- GIT
- array
- Tkinter
- Excel
- Python
- numpy
- Java
- 파이썬
- google apps script
- list
- Apache
- Github
- Mac
- PySpark
- Google Excel
- dataframe
- c#
- hive
- matplotlib
- PostgreSQL
- Google Spreadsheet
- Today
- Total
달나라 노트
Kotlin - toString(), toInt(), toDouble(), toIntOrNull(), toDoubleOrNull() (Datatype의 변경) 본문
Kotlin - toString(), toInt(), toDouble(), toIntOrNull(), toDoubleOrNull() (Datatype의 변경)
CosmosProject 2021. 3. 18. 03:32
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를 다룰 때 유용하게 사용될 수 있습니다.
'Kotlin' 카테고리의 다른 글
Kotlin - lateinit (initialize 미루기) (0) | 2021.03.19 |
---|---|
Kotlin - super() (parent class의 method 그대로 쓰기) (0) | 2021.03.19 |
Kotlin - Abstract class (0) | 2021.03.18 |
Kotlin - random() (범위 자료형과 랜덤 숫자뽑기) (0) | 2021.03.16 |
Kotlin - repeat (특정 문자열 n번 반복하기) (0) | 2021.03.16 |