vb.net转换浮点数 vb转换函数代码

如何用VB.NET将单精度16进制转换成浮点数#读取上次检查到的行数
last_line=`cat ./mailinfo`
echo "上次行数:"$last_line
#算出本次alert日志的行数
current_line=`wc -l $alert_log|awk '{print $1}'`
echo "本次行数:"$current_line
#取上次行数和本次行数之间的alert日志内容 , 然后把ORA错误及上下三行放到mailinfo中
vb.net中如何将字符串型转换成浮点型Dim s As String = "你的字符串"
Dim si As Single = CType(Val(s), Single)
MsgBox(si)
程序里测试通过你试试看 。
vb.net 4位十六进制 转浮点数Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim aa(3) As Byte
Dim f As Single
aa(0) = H0
aa(1) = H0
aa(2) = H80
aa(3) = H3F
'CopyMemory(f, aa, 4)
f = BitConverter.ToSingle(aa, 0)
TextBox1.Text = f
End Sub
End Class
vb 十进制数转浮点数CSng(应该是吧),返回单精度值
Hex函数,只能返回整数
--------------------------------------
也许是我被CSng的名字骗到……但CSng(1.1234)=1.1234是不争的事实……我猜你用整型数储存的返回值吧……代码这样写:
Dim mySng as Single'你是不是声明成Long或Integer了?
mySng = CSng(1.1234)'CSng参见下文
MsgBox mySng'是1.1234,一定是1.1234
'顺便问下楼主IEEE754浮点数和Single是不是一回事?对这方面没有了解 。
CSng Single 负数为 -3.402823E38 至 -1.401298E-45;正数为 1.401298E-45 至 3.402823E38
至于转为4字节值,可以根据一下代码改编
Function funSignSngTo4Byt(SingleData As Single, ByRef tBytes() As Byte) As Boolean
'高位在前,低位在后
Dim i, d As Integer
Dim PorN As Byte
Dim ExpVal, temp As Long
Dim FraVal, t1 As Long
Dim SingleFra, tempval As Single
Dim gbytBinData(3) As Byte
If SingleData = https://www.04ip.com/post/0 Then
For i = 0 To 3
gbytBinData(i) = 0
Next i
Exit Function
End If
If SingleData = https://www.04ip.com/post/0 Then'符号位
PorN = 0
Else
PorN = H80
SingleData = https://www.04ip.com/post/-1 * SingleData'变为正数
End If
ExpVal = Int(Log(SingleData) / Log(2)) '指数
If ExpVal128 Then
funSignSngTo4Byt = False
Exit Function
【vb.net转换浮点数 vb转换函数代码】End If
If ExpVal = 127 Then
SingleFra = SingleData / (2 ^ ExpVal)
Else
SingleFra = SingleData / (2 ^ ExpVal) - 1
End If
FraVal = Int(SingleFra * 128 * 256 * 256) And HFFFFFF
ExpVal = ExpVal127
gbytBinData(0) = PorNExpVal \ 2
gbytBinData(3) = FraVal And HFF
FraVal = Int(FraVal \ 256)
gbytBinData(2) = FraVal Mod 256
FraVal = FraVal \ 256
gbytBinData(1) = (FraVal Mod 256) Or ((ExpVal And 1) * 128)
For i = 0 To 3
tBytes(i) = gbytBinData(i)
Next i
End Function
tBytes()里的值就是SingleData的四个字节
说句实话lz应该先上网看看相关的资料,其实上面的代码是我从网上看到的 , 加了个输出为4字节就贴上来了……
原贴
关于vb.net转换浮点数和vb转换函数代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读