Sub ls() 
  Dim a(1) As String 
  a(0) = 2: a(1) = 3 
  tempString = Join(a, ",") 
End Sub 
程序通过 
Dim a(1) As Double或inter等程序调试失败. 
提示,无效的过程调用或参数. 
请问,
有没有double数组强制转string函数,string数组强制转Double数组函数
只能用循环法才能解决吗??上面经过joint处理的tempString= "2,3"
sss = Split(tempString, ",")
    Dim tt(11) As Double
    For ii = 0 To 11
      tt(ii) = sss(ii)
    Next ii

解决方案 »

  1.   

    为什么提这个问题,
    因为数据源的一条记录对应的数组是动态数组,如AutoCAD的样条曲线Spline有9-60多个数据,而Point点数据仅有3个数据。
    没办法,只能将Spline或点等AutoCAD的图元数据以字符串形式存到某条记录对应字段内。
    再通过Split组成数组,操作AutoCAD的图元功能函数。再请问各位大侠,记录与动态数组的存取还有什么好办法吗?? 
      

  2.   

    如果你是用ado读取数据库的话, 可以直接调用recordset.getrow()方法,直接就能将数据复制到一个动态数组
      

  3.   

    看来只能用这种函数,别无它法了.
    '''' 字符串转double()
    Function StringSplitDoubleArr(tempArr As Variant) As Double()
        Dim tempArray() As Double
        tempArr = Split(tempArr, ",")
        nn = UBound(tempArr)
        ReDim tempArray(nn) As Double
        For ii = 0 To nn
          tempArray(ii) = Val(tempArr(ii))
        Next ii
        StringSplitDoubleArr = tempArray
    End Function
    ''''Double()转String()
    Function DoubleToString(tempArr As Variant) As String
      Dim tempString As String, nn As Integer
        tempString = ""
        nn = UBound(tempArr)
        For jj = 0 To nn - 1
          tempString = tempString & Round(tempArr(jj), 8) & ","
        Next jj
        tempString = tempString & Round(tempArr(nn), 8)
        DoubleToString = tempString
    End Function