回 帖 发 新 帖 刷新版面

主题:[原创]怎样将字符串转化为数组?

dim buf as variant

buf="123.56"

怎样把buf转化为  :ary(0)=1,ary(1)=2,ary(2)=3,ary(3)=.,ary(4)=5,ary(5)=6,

回复列表 (共11个回复)

沙发

for i=1 to len(buf): ary(i-1)=mid(buf,i,1): next

板凳

  Dim Buf() As Byte
  Dim I As Long
  Buf = StrConv("123.56", vbFromUnicode)
  For I = 0 To UBound(A)
    Debug.Print Chr(Buf(I))
  Next

3 楼

我赞成1楼的,简捷明白实用!

4 楼

我也想赞成一楼的,可是运行不过去呀!

5 楼

Private Sub Form_Load()
Dim i As Long
    Dim buf As String
    Dim ary() As String
    buf = "12356"
    For i = 0 To Len(buf) - 1
    ary(i) = Mid(buf, i, 1)
    Next
    For i = Len(buf) - 1 To 0 Step -1
       Debug.Print ary(i)
    Next
End Sub
可是运行不过去呀!

6 楼

谢谢joforn

7 楼

好象还有split函数也可起到类似2楼程序的效果?

8 楼

我查了一下VB常见的函数, 可以,mid和split都可以,就是不知道怎用?

9 楼

[quote]Private Sub Form_Load()
Dim i As Long
    Dim buf As String
    Dim ary() As String
    buf = "12356"
    For i = 0 To Len(buf) - 1
    ary(i) = Mid(buf, i, 1)
    Next
    For i = Len(buf) - 1 To 0 Step -1
       Debug.Print ary(i)
    Next
End Sub
可是运行不过去呀!

[/quote]
Private Sub Form_Load()
Dim i As Long
    Dim buf As String
    Dim ary() As String    
    buf = "12356"
    redim ary(len(buf)-1)
    For i = 1 To Len(buf)
    ary(i-1) = Mid(buf, i, 1)
    Next
    For i = 0 To ubound(ary)
      Debug.Print ary(i)
    Next
End Sub

10 楼

这所以用Byte数组是因为如果你转成数级后如果还要做其它的操作的话速度会快些。

我来回复

您尚未登录,请登录后再回复。点此登录或注册