作者evil2004 (忘却深渊)
看板Visual_Basic
标题Re: [.NET] 读值後运算
时间Fri Apr 22 12:03:29 2016
※ 引述《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://webptt.com/cn.aspx?n=bbs/Visual_Basic/M.1461297812.A.92E.html
1F:推 foreverwhat: 感谢e大 大致可以了 我再稍微修改一下 谢谢!!! 04/22 13:23
2F:推 foreverwhat: 之前buf=split完就一直想拿split来用 04/22 13:25
3F:→ 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