try to convert like this:-
boatProfile.CurrencyID=Convert.ToInt16((profileList[i].CurrencyID));
You attempt to cast a numeric string to a numeric data type, following code shows example.
string strInput = "10";
int intResult = 0;
try {
intResult = Convert.ToInt16(strInput);
}
catch (Exception ex) {
MessageBox.Show(("Error: " + ex.Message));
}
hope it helps...