有个vb数组赋值问题
有个vb问题,求大虾提点下,搞不懂问题如下:一个字符串如:"000,120,140,235"用Split按照","取成数组分别放入a()再用循环读出每一组里面的每个元素,...
有个vb问题,求大虾提点下,搞不懂
问题如下:
一个字符串如: "000,120,140,235"
用 Split 按照","取成数组分别放入a()
再用循环读出每一组里面的每个元素,放入变量
问题出现了:第一位为非0数时,其中的0可以读出来,第一位为0或者00时,读出来的是空值,
有大侠碰到过这样的问题么,求指导啊,谢谢了 展开
问题如下:
一个字符串如: "000,120,140,235"
用 Split 按照","取成数组分别放入a()
再用循环读出每一组里面的每个元素,放入变量
问题出现了:第一位为非0数时,其中的0可以读出来,第一位为0或者00时,读出来的是空值,
有大侠碰到过这样的问题么,求指导啊,谢谢了 展开
3个回答
展开全部
如果你用一个变体类型的变量来Split成一个数组,那么数值型数据将被分配成整形或者浮点类型的数值。
对于数值型的数据来说:000,00,00000,0都是一样的,都表示0。而且在VB里面也只会认为是0。
但是,像100,这样的数字,后面的0是不能省略的,数学常识。
只有当一个数字,用字符串型表示的时候,"000"和"000000"才有区别。
所以,我们直接定义一个字符串类型的动态数组来读取该数据,这样,所有的数值型元素也将被当做字符串来看待,这样"000"就是一个长度为3的字符串了。如下:
Sub Command1_Click()
Dim arr() As String
arr = Split("000,120,140,235", ",")
Dim i As Integer
For i = 1 To 3
Print i & "=" & Mid(arr(0), i, 1)
Next
End Sub
更多追问追答
追答
Dim s as string, K as String
Dim G as String , J As String , M As String , N as String
这里的as String一个都不要省略,你再试试。
一个误区:
Dim G,J,M,N as String,通过这种方法定义的变量,G,J,M均为变体类型的变量,只有N是字符串型。并不是想象中的G,J,M也为String类型的变量的。必须显式的指定每一个变量的类型才行。
字符串变量定义的简写方法:
Dim s$,K$
Dim G$,J$,M$,N$
展开全部
有这事吗?你有没有把变量定义为字符串类型
我用vb试了下,split 返回的默认为字符串类型数组
赋给的变量类型,通用型和字符串类型的都可以。只数值类型的变量,那就变成一个0了。
我用vb试了下,split 返回的默认为字符串类型数组
赋给的变量类型,通用型和字符串类型的都可以。只数值类型的变量,那就变成一个0了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要看代码才知道问题在哪。会不会是变量类型错误,数组和变量也要是字符型的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询