hi
because in place of your code, you have a type casting from (decimal,int) to string
you must find that an solve it
Something like this (in this sample default datatype is string)
dt = new DataTable("TBL");
dt.Columns.Add("comment");
dt.Columns.Add("num1");
dt.Columns[1].DataType = typeof(Int32);
dt.Columns.Add("num2");
dt.Columns[2].DataType = typeof(float);