You can read on the CAST and CONVERT page on the "Truncating and Rounding Results" section.
Int, smallint and tinyint will return * when the result length is too short to display when converted to char or varchar. Other numeric to string conversions will return an error.