We’ve briefly worked with integers in the previous lesson, and in this section, we’ll take a deeper dive into the various types of numbers that exist in Kotlin.

Kotlin numbers fall into two categories: integers and decimals as part of the Number superclass. Take a look at the image on the right. Each book occupies a certain amount of space on the shelf depending on its size. The same goes for the various numerical data types in Kotlin. The larger a variable is in size (Bits), the more space it occupies in our computer’s memory.

The books on the left side represent 4 different types of data for an integer value:

Name Bit (Size) Min Value Max Value
Long 64 -9,223,372,036,854… 9,223,372,036,854…
Int 32 -2,147,483,648 2,147,483,647
Short 16 -32,768 32,767
Byte 8 -128 127

A Long variable is meant to store significantly large values, whereas a Byte variable cannot store a value larger than 127. Hence, their size and occupation in memory vary.

The books on the right represent 2 various types of data for decimal or floating-point values:

Name Bit (Size) Decimal Digit Precision
Double 64 15-16
Float 32 6-7

A Double variable contains a longer, more precise decimal precision than a Float. For example:

var doubleNum: Double = 6.0 / 13.0 var floatNum: Float = 6.0f / 13.0f println(doubleNum) // Prints: 0.46153846153846156 println(floatNum) // Prints: 0.46153846

When declaring a numerical variable in Kotlin, the compiler will determine which of the above data types to assign to it. The default type for whole numbers is Int and the default type for decimals is Double, thus we’ll be working with these two types of data more closely throughout this lesson.


Click Up Next when you’re ready to move on.

Take this course for free

Mini Info Outline Icon
By signing up for Codecademy, you agree to Codecademy's Terms of Service & Privacy Policy.

Or sign up using:

Already have an account?