Data Types
Type Conversion
Convert text to a number before doing math.
conversion
Kotlin uses explicit conversion functions instead of automatic numeric casts.
Type Conversion
TypeConversion.kt
Replay: real traced execution (multi-file project)
fun main() {
val input = "7"
val count = input.toInt()
val doubled = count * 2
val label = doubled.toString()
println("count=$count")
println("label=$label")
}
fun main() {
val input = "12"
val count = input.toInt()
val doubled = count * 2
val label = doubled.toString()
println("count=$count")
println("label=$label")
}
fun main() {
val input = "3"
val count = input.toInt()
val doubled = count * 2
val label = doubled.toString()
println("count=$count")
println("label=$label")
}
input ← 7, count ← 7, doubled ← 14, label ← 14
1fun main() {2 val input→ 7 = "7" //@input="12", "3"3 val count→ 7 = input7.toInt()4 val doubled→ 14 = count7 * 25 val label→ 14 = doubled14.toString()67 println("count=$count7")8 println("label=$label14")9}outputcount=7 label=14
input ← 12, count ← 12, doubled ← 24, label ← 24
1fun main() {2 val input→ 12 = "12"3 val count→ 12 = input12.toInt()4 val doubled→ 24 = count12 * 25 val label→ 24 = doubled24.toString()67 println("count=$count12")8 println("label=$label24")9}outputcount=12 label=24
input ← 3, count ← 3, doubled ← 6, label ← 6
1fun main() {2 val input→ 3 = "3"3 val count→ 3 = input3.toInt()4 val doubled→ 6 = count3 * 25 val label→ 6 = doubled6.toString()67 println("count=$count3")8 println("label=$label6")9}outputcount=3 label=6
Follow the Conversion
inputstarts as"7".input.toInt()givescount = 7.doubled = count * 2becomes14.label = doubled.toString()becomes"14".- The program prints
count=7andlabel=14. | input | count | label | | --- | --- | --- | | "12" | 12 | 24 | | "7" | 7 | 14 | | "3" | 3 | 6 |
Exercise: TypeConversion.kt
Reproduce label=14, then use the pinned inputs 12 and 3 to predict each label.