2016-10-13 2 views
-1

Мне действительно трудно с этим справиться. Этот код должен решить общий платеж и поместить его в итоговый итог TextBox, но когда я попытаюсь преобразовать его в double (потому что цены decimals), это то, с чем он придумал. Я пробовал int, и у него не было никаких проблем.Невозможно преобразовать из 'double' в 'string' -> Listview subitem

Любые решения для этого?

double i = 0; 
double j = 0; 
double k = 0; 
i = 0; 
j = 0; 
k = 0; 

try 
{ 
    j = lstvProds.Items.Count; 
    for (i = 0; i <= j - 1; i++) 
    { 
     k = k + Convert.ToDouble(lstvProds.Items[i].SubItems[4].Text); 
    } 

    //double l = Convert.ToDouble(k); 

} 

catch (Exception ex) 
{ 
    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
} 
return k; 
+0

упс извините! это сейчас – Sam

+1

Почему я объявлен как двойной? попробуйте использовать int как тип для i ... –

+0

попробует! @Philip – Sam

ответ

0

Просто чтобы было ясно, я конвертировать мой комментарий к ответу и разработать основную проблему:

Чтобы быть ясно: Проблема была ошибка компиляции, а не исключение во время выполнения.

Причина этого была следующая часть:

lstvProds.Items[i] 

Пункты [] Оператор перегружен со строкой и целочисленным параметром. Целочисленная версия возвращает i-й элемент, версия строки ищет соответствующий элемент в списке с тем же именем.

В этом причина ошибки: «i» - это двойной. Используется с целым числом, все нормально ...

PS: разборе двойной строки может привести к укомплектовать различной функциональности ...

Смежные вопросы