参数 'Expression' 无法转换为类型 'ObjectCollection'
Argument 'Expression' cannot be converted to type 'ObjectCollection'
我是 VB 的新手,正在尝试划分两个列表框的内容。但是每次我尝试都会出现错误,例如;参数 'Expression' 无法转换为类型 'ObjectCollection'。我一直在更改代码,但此后一直没有运气。如果有任何帮助,我将不胜感激!
Dim pSmokers As Short
pSmokers = (Val(lstSmoker.Items)) / (Val(lstTotal.Items)) * 100
lstTotal.Items.Add(pSmokers)
假设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
我是 VB 的新手,正在尝试划分两个列表框的内容。但是每次我尝试都会出现错误,例如;参数 'Expression' 无法转换为类型 'ObjectCollection'。我一直在更改代码,但此后一直没有运气。如果有任何帮助,我将不胜感激!
Dim pSmokers As Short
pSmokers = (Val(lstSmoker.Items)) / (Val(lstTotal.Items)) * 100
lstTotal.Items.Add(pSmokers)
假设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