Casting

Casting allows us to change a variable's type to better suit our needs.

How Casting Works

Lets say we want to turn a double into an integer, or an integer into a double.

To change a variable's type we just add the type in between parentheses to cast it.

Consider the following:

int doubleToInt = (int)10.95;
// This will become '10'
Casting an Integer to a Double

To cast an integer value to a double we add (double) in front of the variable.

int intVal = 10;

// Our 'doubleVal' variable is now '10.0'
double doubleVal = (double)intVal;
Casting a Double to an Integer

To cast a double to an integer we add (int) in front of the variable. It is important to remember our new integer value will truncate the decimal.

double doubleVal = 7.4;

// Our 'intVal' variable is now '7'
int intVal = (int)doubleVal;

Division with Casting

If we divide two integers, even if we are setting them to a double, we will always be returned an integer.

int currResidents = 50;
int floorTotal = 56;

double average = floorTotal / currResidents;
// 'average' will return the value '1'

We can get the correct answer by casting one of the variables to a double.

int currResidents = 50;
int floorTotal = 56;

double average = (double)floorTotal / currResidents;
// We now have the value of '1.12'