2017-02-16 9 views
0

Вот пример цикла For, который я пытаюсь запустить, где lstCost - это мой ListBox, который формируется путем выбора параметров из двух других ListBoxes и вычисление общей суммы для этой опции для создания элемента total, а totalCost - это переменная, в которой я пытаюсь сохранить общее количество всех элементов списка.Мне нужно добавить все элементы в ListBox в «итоговую» переменную

Dim totalCost As Integer 
    For x As Integer = 0 To lstCost.Items.Count - 1 
     totalCost += Val(lstCost.Items.Item(x)) 
    Next 
    txtTotalCost.Text = totalCost.ToString 

По какой-то причине у меня заканчивается 0 как моя общая сумма в текстовом поле txtTotalCost TextBox. Кто-нибудь может подумать о какой-либо причине?

+0

Что происходит, когда вы отладки это? Что конкретно идет не так? – David

+0

Включить опцию Строго. 'Val' всегда возвращает Double, а не целое число – Plutonix

+0

Что находится в списке? Значение wise я имею в виду .. –

ответ

0
Dim totalCost As Double = 0 

For x As Integer = 0 To lstCost.Items.Count - 1 

    totalCost += DirectCast(lstCost.Items.Item(x).ToString.trim,Double) 

Next 

txtTotalCost.Text = totalCost.ToString 

в зависимости от значений в ListBox вы можете изменить его Decimal при необходимости