我是VB新手,我试图划分两个列表框的内容。但是,每次我尝试它时都会出现错误,例如;论证'表达'无法转换为' ObjectCollection'。我一直在改变代码,但从那以后就没有运气了。我非常感谢任何帮助,谢谢!
Dim pSmokers As Short
pSmokers = (Val(lstSmoker.Items)) / (Val(lstTotal.Items)) * 100
lstTotal.Items.Add(pSmokers)
答案 0 :(得分:0)
假设lstSmoker
是listBox
,您没有正确使用它。这不起作用
Val(lstSmoker.Items)
你需要做这样的事情
Short.Parse(lstSmoker.Items(0)) ' Where "0" is index of your item in listbox
同样,这是假设列表控件中的项目是字符串。所以你的代码会像这样说:
pSmokers = Short.Parse(lstSmoker.Items(0)) / Short.Parse(lstTotal.Items(0)) * 100
很遗憾,我不知道如何将数据保存在列表中。可能是您希望计算列表中的项目数而不是数据。然后这样做
pSmokers = lstSmoker.Items.Count / lstTotal.Items.Count * 100
!!! 但是现在你遇到问题,如果pSmokers
很短,你就在这里进行划分。意思是,你会得到十进制数。因此,您需要更改pSmokers
你也可能会遇到" 0"如果没有吸烟者的问题。为了防止它
If lstTotal.Items.Count > 0 Then
Dim pSmokers as Decimal = lstSmoker.Items.Count / lstTotal.Items.Count * 100
txtTotal.text= pSmokers.ToString("G")
End If