Skip to main content

How to convert a Double to an Int in Kotlin

How to convert a Double to an Int in Kotlin.

Here's a step-by-step tutorial on how to convert a Double to an Int in Kotlin:

Step 1: Declare a Double variable

First, declare a Double variable and assign it a value. For example:

val doubleValue: Double = 3.14

Step 2: Use the toInt() function

In Kotlin, you can use the toInt() function to convert a Double to an Int. This function truncates the decimal part of the Double and returns the whole number part as an Int. Here's an example:

val intValue: Int = doubleValue.toInt()

In this example, doubleValue.toInt() converts the Double value 3.14 to an Int value 3.

Step 3: Handling rounding

If you want to round the Double value to the nearest whole number before converting it to an Int, you can use the roundToInt() function from the kotlin.math package. Here's an example:

import kotlin.math.roundToInt

val roundedValue: Int = doubleValue.roundToInt()

In this example, doubleValue.roundToInt() rounds the Double value 3.14 to the nearest whole number 3 before converting it to an Int.

Step 4: Handling overflow

It's important to note that when converting a Double to an Int, there's a possibility of overflow if the Double value is outside the range of valid Int values. In such cases, Kotlin provides a few different options to handle overflow:

  • Using toIntOrNull(): This function returns the converted Int value if it's within the valid range, or null if there's an overflow. Here's an example:

    val intValue: Int? = doubleValue.toIntOrNull()

    In this example, doubleValue.toIntOrNull() returns null because the Double value 3.14 is outside the valid Int range.

  • Using toIntExact(): This function throws an ArithmeticException if there's an overflow. Here's an example:

    import kotlin.math.toIntExact

    try {
    val intValue: Int = doubleValue.toIntExact()
    // Handle the converted Int value
    } catch (e: ArithmeticException) {
    // Handle the overflow error
    }

    In this example, if there's an overflow, the toIntExact() function throws an ArithmeticException, which can be caught and handled appropriately.

That's it! You now know how to convert a Double to an Int in Kotlin. Remember to handle rounding and overflow based on your specific requirements.