首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

下拉菜单COMBOX赋值可以是小数码(非LONG型),该怎么解决

2013-12-13 
下拉菜单COMBOX赋值可以是小数码(非LONG型)Private Sub Combo1_Click()Text1.Text Combo1.ItemData(Comb

下拉菜单COMBOX赋值可以是小数码(非LONG型)
Private Sub Combo1_Click()
Text1.Text = Combo1.ItemData(Combo1.ListIndex)
End Sub
Private Sub Form_Load()
Combo1.AddItem "a"
Combo1.ItemData(0) = 9.6
Combo1.AddItem "b"
Combo1.ItemData(1) = 11.5
Combo1.AddItem "c"
Combo1.ItemData(2) = 13.4
Combo1.ListIndex = 2 
End Sub
想赋值9.6等 小数的,Text1.Text中显示的都是 10 ,12,这样的整数,,后来知道ItemData(0) 类型 long 
自动类型转换,,,想知道怎么解决
我自己要用,肯定选择这种方法(从数组访问数据速度肯定比从对象快)。

如果你的 “ItemData”是数值类型的,可以用相应类型的数组。
用 String类型,则可以记录任意内容。

如果 Combo 的项目数是固定的,可以用固定大小的数组。也可以用动态数组(适应任意情况)。
数组元素就对应Combo相应项目的 ItemData 。
下拉列表选择项目后,按其ListIndex就能从数组中取得相应数据了。

[解决办法]
当把小数赋值给 ItemData 时,系统会将其四舍五入取整。相当于自动加上了 CLng 函数处理。

Combo1.ItemData(0) = "9.6" 的结果与直接赋值小数是一样的。

很多情况下,VB 会自动进行格式转换。

热点排行