看板 Visual_Basic 關於我們 聯絡資訊
※ 引述《foreverwhat (奇)》之銘言: : 不好意思 : 還是不知道該怎麼寫 : 像我現在的程式 簡單先寫看儀器讀出來的值 : console.write(aaa) : 這邊看到的值是 1,+1.55121667E-006 : 但是我想把它寫成跟儀器端上看到的 1551.2167nm : 那我嘗試寫成 : buf = Split(aaa,",") : a = Convert.ToString(buf) : console.write(a) : 看到的值就會變成 System.String[] : 還是不知道要怎麼單把 +1.55121667E-006拉出來計算 : 再麻煩各位前輩指點指點 謝謝 我真的看不是很懂科學記號的表示法, 所以該乘幾個0, 和E後面的正負號數字你自己考慮! 假設 Dim aaa As String = "1,+1.55121667E-006" Dim Value, Tmp As String buf = Split(aaa, ",") 'buf(0) = "1" buf(1) = "+1.55121667E-006" Value = CDbl(Split(buf(1), "E")(0)) 'Value = 1.55121667 Tmp = CInt(Split(buf(1), "E")(1)) 'Tmp = -6 剩下就是考慮Tmp 看要把Value乘除幾個10即可 沒Run過, 不知道能不能過 你自己試試 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.121.196 ※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1461297812.A.92E.html
foreverwhat: 感謝e大 大致可以了 我再稍微修改一下 謝謝!!! 04/22 13:23
foreverwhat: 之前buf=split完就一直想拿split來用 04/22 13:25
foreverwhat: 原來是想錯方向了 04/22 13:26
剛剛想了一下 Dim Value, Tmp As String 改成下面這兩行比較好 Dim Value As Double Dim Tmp As Integer 這樣後面運算時可以省掉一次轉型別的動作! ※ 編輯: evil2004 (60.251.121.196), 04/22/2016 15:04:39