In this tutorial, I will show you how to convert String to Int, Long, Float, Double in Kotlin/Android.
Kotlin convert String to Int
The example uses:
toInt()
to parse the string to anInt
,NumberFormatException
is thrown if the string is not a valid representation of an Integer.toIntOrNull()
to convert the string to anInt
, return anull
if the string is not a valid representation of an Integer.
By default, the radix
is 10. You can use any valid radix by passing a parameter to the methods above.
package com.bezkoder.kotlin.numberparser
fun main(args: Array) {
val istr1 = "42"
val int1: Int? = istr1.toInt()
println(int1)
// 42
val istr2 = "42.1"
val int2: Int? = istr2.toInt()
// Exception in thread "main" java.lang.NumberFormatException: For input string: "42.1"
val int2: Int? = istr2.toIntOrNull()
println(int2)
// null
val istr3 = "1111"
val int3: Int? = istr3.toInt(2)
println(int3)
// 15
val istr4 = "1234"
val int4: Int? = istr4.toInt(2)
// Exception in thread "main" java.lang.NumberFormatException: For input string: "1234"
val int4: Int? = istr4.toIntOrNull(2)
println(int4)
// null
}
Kotlin convert String to Long
The example shows you how to use:
toLong()
to parse the string to aLong
,NumberFormatException
is thrown if the string is not a valid representation of a Long.toLongOrNull()
to convert the string to aLong
, return anull
if the string is not a valid representation of a Long.
The radix
is 10 by default. To change to another valid radix, you can pass a parameter to these methods.
package com.bezkoder.kotlin.numberparser
fun main(args: Array) {
val lstr1 = "4200000000"
val long1: Long? = lstr1.toLong()
println(long1)
// 4200000000
val lstr2 = "42.42";
val long2: Long? = lstr2.toLong()
// Exception in thread "main" java.lang.NumberFormatException: For input string: "42.42"
val long2: Long? = lstr2.toLongOrNull()
println(long2)
// null
val lstr3 = "FFFF"
val long3: Long? = lstr3.toLong(16)
println(long3)
// 65535
val lstr4 = "FF"
val long4: Long? = lstr4.toLong(8)
// Exception in thread "main" java.lang.NumberFormatException: For input string: "1234"
val long4: Long? = lstr4.toLongOrNull(8)
println(long4)
// null
}
Kotlin convert String to Float
In the following example, we will use:
toFloat()
to parse the string to aFloat
,NumberFormatException
is thrown if the string is not a valid representation of a Float.toFloatOrNull()
to convert the string to aFloat
, return anull
if the string is not a valid representation of a Float.
package com.bezkoder.kotlin.numberparser
fun main(args: Array) {
val fstr1 = "123.45f"
val float1: Float? = fstr1.toFloat()
println(float1)
// 123.45
val fstr2 = "A123.456";
val float2: Float? = fstr2.toFloat()
// Exception in thread "main" java.lang.NumberFormatException: For input string: "A123.456"
val float2: Float? = fstr2.toFloatOrNull()
println(float2)
// null
}
Kotlin convert String to Double
The example shows you way to use:
toDouble()
to parse the string to aDouble
,NumberFormatException
is thrown if the string is not a valid representation of a Double.toDoubleOrNull()
to convert the string to aDouble
, return anull
if the string is not a valid representation of a Double.
package com.bezkoder.kotlin.numberparser
fun main(args: Array) {
val dstr1 = "1.234567899999"
val double1: Double? = dstr1.toDouble()
println(double1)
// 1.234567899999
val dstr2 = "A1.23";
val double2: Double? = dstr2.toDouble()
// Exception in thread "main" java.lang.NumberFormatException: For input string: "A1.23"
val double2: Double? = dstr2.toDoubleOrNull()
println(double2)
// null
}
Conclusion
One of the most common tasks in any programming language is to convert a String to a Number type. Today we’ve known way to convert a String
to some types such as: Int
, Long
, Float
, Double
in Kotlin/Android.
Happy learning! See you again.