|
本帖最后由 wbzxz 于 2011-4-25 10:54 编辑
这些天在学习过程中,碰到这样一个问题,不知道该如何解决和解释,请大家请指点一下:
问题描述:
有一个数组,里面的元素都是字符型的数字,想转换成长整型的数字;但是有的时候却无法成功;
下面我们先看一下成功的实例:
代码如下:
- Option Explicit
- Sub test()
- Dim arr
- Dim i As Integer
- arr = Array("1", "2", "3")
- Stop
-
- '用循环对arr数组内容进行字符类型的转换
- For i = 0 To UBound(arr)
- arr(i) = CLng(arr(i))
- Next i
- Stop
- End Sub
复制代码
以上代码运行结果,我们可以看出,类型成功的进行了转换,如下图所示,说明这种转换方法是可行的;
不成功的实例,但是下面的例子中我却没有成功,代码如下:
- Sub Main()
- Dim LineString As String
- Dim ArrLine, arrNest()
- Dim i As Long, j As Integer
- Dim filenames
- Dim sfilename
-
-
- j = 1
-
- filenames = getFilename() '获取需要打开的文件名
-
- For Each sfilename In filenames '获得的文件名有可能是个数组,循环处理每个文件
- Open sfilename For Input As #1 '打开文本文件
- Do While Not EOF(1) '只要没有到文件末尾,就在文本文件内循环
- Line Input #1, LineString '读取文本文件一行数据
-
- ArrLine = Split(LineString, ",") 'split函数用来将字符分隔成数组,用","作为分隔符
-
- '这里就是数组类型转换的代码
- For i = 0 To UBound(ArrLine)
- ArrLine(i) = CLng(ArrLine(i))
- Next i
-
- Stop
- Loop
- Close #1 '关闭文件
- Next
-
- End Sub
复制代码
不成功的截图如下:
附件如下:
test.rar
(232.83 KB, 下载次数: 12)
|
|