看板 Visual_Basic 關於我們 聯絡資訊
我的做法是這樣... Dim Str_Key As String = " "←可以代任何東西 If Mid(Str_Temp, Str_Temp.Length, 1) <> Str_Key Then Str_Temp += Str_Key '沒有這行的話,它會在最後一筆出現錯誤 While Str_Temp <> Nothing Dim Position As Integer = InStr(Str_Temp, Str_Key) Dim Str_Result As String = Mid(Str_Temp, 1, Position - 1) Str_Temp = Mid(Str_Temp, Position + 1, Str_Temp.Length - (Position)) Print Str_Result End While ※ 引述《resc (>.<)》之銘言: : 請問一下各位大大 : 如果我用開檔案的方式去抓字串 : 抓出來的字串要轉成Intrger或是Double : (比較想用Double來寫,因為有的數值小數點後有10位數) : 然後字串中一共有四個數值 0.160771704 0 2.8 6.0 : ^^^^^^^^^^^ ^ ^^^ ^^^ : 1 2 3 4 <--數值的順序 : 每個數值間都有一個空白鍵的存在 : 我想用a、b、c、d分別代表字串轉成數值後的四個數值 : 我該怎麼寫成程式碼呢? : 我的程式碼如下: : Private Sub MacroWorkshop() : Dim tempstr As String : Dim numStr As String : Dim str As String : Dim pp As String : Dim ii As Integer : Dim anum As Double : Dim bnum As Double : Open "E:\\test\\testfile.txt" For Input As #1 <---開檔的路徑 : While Not EOF(1) : Line Input #1, tempstr : str = tempstr : Debug.Print str : For ii = 1 To 3 <----迴圈要讀數值的 前三個數值可在這顯示 : pp = InStr(str, " ") : numStr = Trim(Left(str, pp)) <--刪除空白 : Debug.Print numStr : 'anum = Val(numStr) <----這行是想將字串轉成數值 : 'Debug.Print anum : str = Trim(Right(str, Len(str) - pp)) : Next : Debug.Print str <-----顯示第四個數值 : 'bnum = Val(str) : Wend : Close : End Sub : 如果我的字串有很多個(100個以上) : 然後要將跑過迴圈後的字串轉換成數值再指定到a、b、c、d上 : 跑過後的字串要刪除掉 : 然後繼續讀下個字串一直到將字串讀完為止 : 請問一下我該怎麼寫呢? : 可以麻煩會的大大回答我一下嗎? : 拜託各位了 : 謝謝 -- ◤◢ ▁◢ 請‧尊‧重‧生‧命 ◢◤ 以 認 養 代 替 購 買 ◤◢ ◢◤ 請領養我 以 絕 育 代 替 撲 殺 ◤◢ 請領養我 ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ψQSWEET -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.40.148.28
resc:謝謝大大的提示 我會再試試看 謝謝 06/23 10:31