An example of typecasting is converting an integer to a string. This might be done in order to compare two numbers, when one number is saved as a string and the other is an integer. For example, a mail program might compare the first part of a street address with an integer. If the integer "123" is compared with the string "123" the result might be false. If the integer is first converted to a string, then compared with the number in the street address, it will return true.
Another common typecast is converting a floating point number to an integer. This might be used to perform calculations more efficiently when the decimal precision is unnecessary. However, it is important to note that when typecasting a floating point number to an integer, many programming languages simply truncate the decimal value. This is demonstrated in the C++ function below.
int float_to_int(float a) // example: a = 2.75
int b = (int)a; // typecast float to int
return b; // returns 2
In order to round to the nearest value, adding 0.5 to the floating point number and then typecasting it to an integer will produce an accurate result. For example, in the function below, both 2.75 and 3.25 will get rounded to 3.
int round_float_to_int(float a) // example: a = 2.75
int b = (int)(a+0.5); // typecast float to int after adding 0.5
return b; // returns 3
While most high-level programming languages support typecasting, each language uses its own method to convert data. Therefore, it is important to understand how the language converts between data types when typecasting variables.