OriginalGriff
Замена запятой точкой не сработает: это не создает целое число - оно создает число с плавающей запятой: "0.1234", которое не будет разбираться как целое число.
Вы могли бы использовать double.TryParse
вместо Convert.ToInt32
а затем приведите его к целому числу, но это просто даст вам ноль, так как часть .1234 будет отброшена.
Я бы посмотрел на свой источник данных и попытался точно определить, что он должен содержать: почему ваш столбец DataTable содержит такие числа, как "0,1234"? Это должно быть два числа, разделенные запятыми? Или одно плохо разделенное число "01 234"? Или что? У вас вообще есть правильная колонка? Мы не можем сказать, и, вероятно, вы тоже не можете!
Начните с данных и выясните, что у вас есть: просто доверяя им и слепо конвертируя их, вы получите огромные проблемы в будущем.