У меня есть DataTable
с несколькими DataRow
, которые я хочу отформатировать в новом DataTable
, но я обнаружил проблему, когда пытаюсь отформатировать некоторые строки:
DataTable ret = functionThatGetsaDataTableUsingSQL(); //Original DataTable
DataTable dt = new DataTable(); //Final DataTable
foreach (DataRow dr in ret.Rows)
{
DataRow row = dt.Rows.Add();
for (int j = 0; j < dr.ItemArray.Length; j++)
{
if (j == 14) row[j] = dr.ItemArray[j].ToString("C2");
else row[j] = dr.ItemArray[j];
}
}
row[j] = dr.ItemArray[j].ToString("C2");
не работает, говоря No overload for method 'ToString' takes 1 arguments
Я попытался максимально упростить код, чтобы сосредоточиться только на части форматирования.
Как я могу отформатировать это значение? Я знаю, что могу разыграть Convert.ToDecimal()
перед использованием ToString("C2")
, но это ЕДИНСТВЕННЫЙ способ сделать это?