vb编程 split 如何读取每一个数据 进行运算

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb编程 split 如何读取每一个数据 进行运算相关的知识,希望对你有一定的参考价值。

举例 t.txt 数据
1 2 3 4 4 ... ... ...
4 5 5 6 7 ... ... ...
1 2 3 4 5 ... ... ...
...
...
h.txt 数据也是 这样很多列很多行
我想逐个读取进行相应运算,如何加入split完善
---------------------------------------------
Open "c:\t.txt" For Input As #1
Open "c:\h.txt" For Input As #2
------------------------------------------
Do While Not EOF(1)
Line Input #1, t

Do While Not EOF(2)
Line Input #2, h
-----------------------------------------
If Val(h) < 10 Then
e = 0.03 + 0.262 * Val(h) - 0.00104 * Val(h) * Val(t)
ElseIf Val(h) >= 10 And Val(h) < 50 Then
e = 1.76 + 0.1601 * Val(h) - 0.0266 * Val(h) * Val(t)
ElseIf Val(h) >= 50 Then
e = 21.06 - 0.4944 * Val(h) + 0.005565 * (Val(h)) ^ 2 - 0.00063 * Val(h) * Val(t)

M1 = 1.03 * e
M10 = 1.28 * e
print M1,M10

参考技术A 就像你说的,要用到Split函数,首先获取单行数据,再用Split函数拆分成数组,然后再循环使用val函数得到你要的数值,再进行你想要的计算!追问

能编出来吗?这样我不太懂啊

追答

我的编译环境是vs2010的,所以你这些代码我无法调试,暂且认为你是对的吧,功能也全是按你写好,循环这样加,试试 ...

        Do While Not EOF(1)
            Line Input #1, t
            t2 = Split(t, " ")
            Do While Not EOF(2)
                Line Input #2, h
                h2 = Split(h, " ")
                For Each t In t2
                    For Each h In h2
                        If Val(h) < 10 Then
                            e = 0.03 + 0.262 * Val(h) - 0.00104 * Val(h) * Val(t)
                        ElseIf Val(h) >= 10 And Val(h) < 50 Then
                            e = 1.76 + 0.1601 * Val(h) - 0.0266 * Val(h) * Val(t)
                        ElseIf Val(h) >= 50 Then
                            e = 21.06 - 0.4944 * Val(h) + 0.005565 * (Val(h)) ^ 2 - 0.00063 * Val(h) * Val(t)
                            M1 = 1.03 * e
                            M10 = 1.28 * e
                            Print(M1, M10)
                        End If
                    Next
                Next
            Loop
        Loop

追问

这个悬赏没给你,您能帮我看下我另一个问题吗?我把那个悬赏给你,30个

追答

呵呵,那又没有什么关系的。你的问题你只管放在网上啊,会有人帮你解决的。

参考技术B split 要切割字符串 放到一个数组里
dim t1() as string

dim h1() as sting

Do While Not EOF(1)
Line Input #1, t
t1=split(t," ")
Do While Not EOF(2)
Line Input #2, h
h1=split(t," ")

使用循环遍历整个t1 和h1数组的值就行了 记得 下标是从0开始追问

我这样输进去出来的还是一列啊

追答

没有可能 我刚测过 肯定是你哪里写错了

追问

你能给我截个图吗?

追答

本回答被提问者和网友采纳

VB 如何读取 Excel 所有列和行

以下代码可以读取Excel默认选择的表格:但如何获得表格到底有多少的列数和行数?? Dim ap As Excel.Application
Dim bk As Excel.Workbook
Dim st As Excel.Worksheet
Set ap = CreateObject("Excel.Application")
Set bk = ap.Workbooks.Open("D:\练卡表.xls")'需要读取的表格
Set st = bk.Worksheets(1)'工作表
Rem 求选定区域的起始终止行列()
Dim mTop, mLeft, mRight, mButtom
'st.UsedRange.Select'使用该句可选定D:\try.xls的Sheet1的UsedRange,否则显示其已有的选定区域
mTop = Selection.Row '起始行
mLeft = Selection.Column '起始列
mButtom = mTop + Selection.Rows.Count - 1 '结束行
mRight = mLeft + Selection.Columns.Count - 1 '结束列
MsgBox ("起始行:" & mTop & Chr(13) & "起始列:" & mLeft & Chr(13) & "终止行:" & mButtom & Chr(13) & "终止列:" & mRight)
bk.Close

参考技术A 代码中已经写好了呀:
Selection.Rows.Count '行数
Selection.Columns.Count '列数

即 起始行 + 总行数 - 1 为 结束行,
...

以上是关于vb编程 split 如何读取每一个数据 进行运算的主要内容,如果未能解决你的问题,请参考以下文章

请问VB中如何读取txt文件的数据

C语言读取PLC数据

求VB中 Split的意思,用法,和实力

CADlisp编程:如何用lisp处理一个dwg图形中的多个多线段?

VB数据库的问题

vb读取excel数据的教程