Bird
Raised Fist0
Kotlinprogramming~10 mins

String to number conversion in Kotlin - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - String to number conversion
Start with String input
↓
Call conversion function
↓
Check if String is valid number
↓
Convert to number
↓
Use the number in code
↓
End
The program takes a string, tries to convert it to a number, checks if conversion is valid, then uses the number or handles errors.
Execution Sample
Kotlin
val str = "123"
val num = str.toInt()
println(num + 10)
Converts string "123" to integer 123 and adds 10, then prints 133.
Execution Table
StepActionExpressionResultNotes
1Assign stringstr = "123""123"String variable holds "123"
2Convert string to intnum = str.toInt()123String "123" converts to integer 123
3Add 10num + 10133Integer 123 plus 10 equals 133
4Print resultprintln(133)133Output is printed to console
💡 Conversion succeeds because "123" is a valid integer string
Variable Tracker
VariableStartAfter Step 2After Step 3Final
str"123""123""123""123"
numundefined123123123
Key Moments - 2 Insights
What happens if the string is not a valid number?
If the string is not a valid number, calling toInt() throws a NumberFormatException. This is shown by the check in step 3 of the concept flow where invalid input leads to error.
Why do we need to convert the string before adding 10?
Adding 10 to a string would concatenate it as text, not add numerically. Conversion to int changes the type so arithmetic works, as shown in step 3 of the execution table.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the value of 'num' after step 2?
A123
B"123"
Cundefined
D133
💡 Hint
Check the 'Result' column in row for step 2 in execution_table
At which step is the string converted to a number?
AStep 3
BStep 1
CStep 2
DStep 4
💡 Hint
Look at the 'Action' column in execution_table for conversion
If the string was "abc", what would happen at step 2?
Anum becomes 0
BProgram throws NumberFormatException
Cnum becomes "abc"
Dnum becomes null
💡 Hint
Refer to key_moments about invalid string conversion
Concept Snapshot
String to number conversion in Kotlin:
- Use toInt(), toDouble(), etc. to convert strings
- Conversion throws error if string is invalid
- Convert before arithmetic to get numeric results
- Handle exceptions for safe conversion
Full Transcript
This example shows how Kotlin converts a string "123" to an integer using toInt(). The program assigns the string, converts it to number, adds 10, and prints 133. If the string is invalid, toInt() throws an error. Conversion is necessary to perform arithmetic instead of string concatenation.

Practice

(1/5)
1. Which Kotlin function converts a String to an Int?
easy
A. toChar()
B. toString()
C. toDouble()
D. toInt()

Solution

  1. Step 1: Understand the conversion functions

    Kotlin provides toInt() to convert strings to integers, toDouble() for doubles, and toString() converts other types to strings.
  2. Step 2: Identify the correct function for String to Int

    Since the question asks for converting a String to an Int, toInt() is the correct function.
  3. Final Answer:

    toInt() -> Option D
  4. Quick Check:

    String to Int = toInt() [OK]
Hint: Use toInt() to convert string numbers to integers [OK]
Common Mistakes:
  • Confusing toInt() with toString()
  • Using toDouble() when integer is needed
  • Trying to convert non-numeric strings without error handling
2. Which of the following Kotlin code snippets correctly converts the string "123" to an integer?
easy
A. val num = "123".toInteger()
B. val num = toInt("123")
C. val num = "123".toInt()
D. val num = Int("123")

Solution

  1. Step 1: Check Kotlin syntax for string to int conversion

    The correct syntax is calling toInt() on the string object, like "123".toInt().
  2. Step 2: Analyze each option

    val num = "123".toInt() uses the correct method call. Options B and C are invalid function calls in Kotlin. val num = "123".toInteger() uses a non-existent method toInteger().
  3. Final Answer:

    val num = "123".toInt() -> Option C
  4. Quick Check:

    Correct syntax = "123".toInt() [OK]
Hint: Call toInt() directly on the string value [OK]
Common Mistakes:
  • Trying to call toInt() as a standalone function
  • Using Java-like Integer.parseInt() syntax
  • Using non-existent methods like toInteger()
3. What is the output of the following Kotlin code?
val s = "45"
val n = s.toInt() + 10
println(n)
medium
A. 55
B. 4510
C. 45
D. Error

Solution

  1. Step 1: Convert string to integer and add

    The string "45" is converted to integer 45 using toInt(). Then 10 is added, resulting in 55.
  2. Step 2: Print the result

    The println(n) outputs the integer 55, not string concatenation.
  3. Final Answer:

    55 -> Option A
  4. Quick Check:

    45 + 10 = 55 [OK]
Hint: toInt() converts string to number, so + means addition [OK]
Common Mistakes:
  • Thinking + concatenates strings here
  • Expecting output '4510' instead of 55
  • Ignoring toInt() conversion effect
4. Identify the error in this Kotlin code snippet:
val s = "abc"
val n = s.toInt()
println(n)
medium
A. No error, prints 0
B. Runtime exception due to invalid number format
C. Compilation error: toInt() not found
D. Prints "abc"

Solution

  1. Step 1: Understand toInt() behavior on invalid strings

    Calling toInt() on a string that is not a valid number throws a NumberFormatException at runtime.
  2. Step 2: Analyze the given string "abc"

    Since "abc" cannot be converted to an integer, the program will crash with a runtime exception.
  3. Final Answer:

    Runtime exception due to invalid number format -> Option B
  4. Quick Check:

    Invalid string toInt() causes runtime error [OK]
Hint: Invalid strings cause runtime errors with toInt() [OK]
Common Mistakes:
  • Expecting toInt() to return 0 for invalid strings
  • Thinking toInt() throws compile-time error
  • Ignoring exception possibility
5. You have a list of strings representing numbers: listOf("10", "20", "abc", "30"). Which Kotlin code safely converts valid strings to integers and ignores invalid ones?
hard
A. list.mapNotNull { it.toIntOrNull() }
B. list.filter { it.toInt() > 0 }
C. list.map { it.toInt() }
D. list.filterNotNull().map { it.toInt() }

Solution

  1. Step 1: Understand safe conversion with toIntOrNull()

    toIntOrNull() returns null if conversion fails, avoiding exceptions.
  2. Step 2: Use mapNotNull to convert and skip nulls

    mapNotNull { it.toIntOrNull() } converts valid strings and removes nulls from invalid ones.
  3. Step 3: Analyze other options

    list.map { it.toInt() } throws exception on "abc". list.filter { it.toInt() > 0 } tries to convert without safety and filters by value, causing error. list.filterNotNull().map { it.toInt() } filters non-null strings but does not handle invalid numbers.
  4. Final Answer:

    list.mapNotNull { it.toIntOrNull() } -> Option A
  5. Quick Check:

    Safe conversion uses toIntOrNull() + mapNotNull [OK]
Hint: Use toIntOrNull() with mapNotNull() to skip invalid strings [OK]
Common Mistakes:
  • Using toInt() directly causing exceptions
  • Filtering strings before conversion incorrectly
  • Not handling null results from toIntOrNull()
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard