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'