Re: [.NET] 讀值後運算

看板Visual_Basic作者 (忘卻深淵)時間8年前 (2016/04/22 12:03), 8年前編輯推噓2(201)
留言3則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《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

04/22 13:23, , 1F
感謝e大 大致可以了 我再稍微修改一下 謝謝!!!
04/22 13:23, 1F

04/22 13:25, , 2F
之前buf=split完就一直想拿split來用
04/22 13:25, 2F

04/22 13:26, , 3F
原來是想錯方向了
04/22 13:26, 3F
剛剛想了一下 Dim Value, Tmp As String 改成下面這兩行比較好 Dim Value As Double Dim Tmp As Integer 這樣後面運算時可以省掉一次轉型別的動作! ※ 編輯: evil2004 (60.251.121.196), 04/22/2016 15:04:39
文章代碼(AID): #1N6QAKak (Visual_Basic)
文章代碼(AID): #1N6QAKak (Visual_Basic)