Clearly GetText returns a string and you cannot assign a string to a decimal column. Why didn't Convert.ToDecimal work?
Also... why code this yourself? You can just set AllowMultiCellOperation and the grid will do copy and paste for you.