- Conversion from one type to another.
- Widening, (example int to float) can be implicitly and narrowing, (example float to int)is to be done explicitly.
- bool has no coercion or cast.
- Many times coercion can result in surprising behavior. Example of PL/I here:
A = '123'; B = '123' C = A + B //C would have three blanks in it as a result, + will force A and B to convert in //integers, and because C should have a length of 6, and the resulting sum would //be placed at //the last, the initial three letters will be chosen having blanks.