fun main() {
// define a String
val myStr: String = "100"
// convert to int
val num: Int = myStr.toInt()
// print the result
println(num)
}
Output
100
Sometimes, you have numbers data in String format that needs to be calculated and to apply mathematics operations on it, you need to use the Integer version of those String. Kotlin provides some methods that can be used to convert a String to Integer values. We are explaining them one by one here.
The String.toInt() is the most popular method that is used to convert a String to an Integer type value in Kotlin. It is used with the String value and returns the Integer type value.
Syntax
String.toInt()
Code example
fun main() {
// define a String
val strVal: String = "40"
// convert to int
val intVal: Int = strVal.toInt()
println("Sum of two int values: " + (intVal + intVal))
println("Sum to two String values: " + (strVal + strVal))
}
Output
Sum of two int values: 80
Sum to two String values: 4040
What happens if the string value is not in number format
fun main() {
// define a String
val strVal: String = "40c"
// convert to int
val intVal: Int = strVal.toInt()
}
The above code will throw an error because the String value that we want to convert to an integer type value is not a number value. The error is shown below.
Exception in thread "main" java.lang.NumberFormatException: For input string: "40c"
at java.lang.NumberFormatException.forInputString (:-1)
at java.lang.Integer.parseInt (:-1)
at java.lang.Integer.parseInt (:-1)
To handle the above error we can use exception handling in Kotlin.
fun main() {
try {
// define a String
val strVal: String = "40c"
// convert to int
val intVal: Int = strVal.toInt()
} catch (err: NumberFormatException) {
println("Not a valid value")
}
}
Output
Not a valid value
As an alternative of String.toInt(), we can also use Integer.parseInt() function to convert a String to Integer type value. We just need to pass our string value to Integer.parseInt() function as a parameter and it will return the integer type value of the string.
Syntax
Integer.parseInt(string_value)
Code example
// define a String
val strVal: String = "40"
// convert to int using Integer.parseInt()
val intVal: Int = Integer.parseInt(strVal)
println(intVal)
Output
40
We can also use String.toIntOrNull() function to convert a String value to Integer type value. The function will return an integer value if the string value is valid and return null if the string value is not valid.
val strVal = "800"
val intVal = strVal.toIntOrNull()
if (intVal != null) {
println(intVal)
} else {
// value is not valid
}
Output
800
0 Comments