
正文
VB.Net字节转浮点 vb字符型转换为数值型
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
VB 如何将整数型数据类型转换成单浮点数据类型
VB使用CSng 函数可将整数型数据类型转换成单精度浮点数据类型。
CSng 函数示例
本示例使用 CSng 函数将一整型数值转换为 Single。
Private Sub Command1_Click()
Dim MyInteger As Integer
Dim MySingle As Single
MyInteger = 7534
MySingle = CSng(MyInteger)
Debug.Print MySingle
Debug.Print LenB(MyInteger)
Debug.Print LenB(MySingle)
End Sub
Debug.Print LenB(MyInteger)输出为2VB.Net字节转浮点,是Integer数据类型的字节数。
Debug.Print LenB(MySingle)输出为4VB.Net字节转浮点,是Single数据类型的字节数。
相关问答
Q1: 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
Q2: vb.net中如何将字符串型转换成浮点型
Dim s As String = "你的字符串"
Dim si As Single = CType(Val(s), Single)
MsgBox(si)
程序里测试通过 你试试看。
Q3: 如何用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中
Q4: 怎么将4字节16进制转化成浮点数?
四字节16进制数可转换为四个二进制字节(Bytes),从而使用Api函数来处理成单精度浮点数。
以下用VB代码处理。
VB有专门的API函数CopyMemory能处理2-10进制浮点数转换和10-2进制浮点数转换。
下列代码演示了10进制Single(单精度浮点型转为16进制字符显示的浮点数和其相反运算:
Option Explicit
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Sub BinToSin_Click()
Dim sinStr As String
Dim sinSj As Single
Dim Buffer(3) As Byte
Dim i As Integer
sinStr = Text2
For i = 1 To Len(Text2) Step 2
Buffer((7 - i) / 2) = Val("H" Mid(sinStr, i, 2))
Next
CopyMemory ByVal VarPtr(sinSj), ByVal VarPtr(Buffer(0)), 4
Text3 = sinSj
End Sub
Private Sub SinToBin_Click()
Dim i As Integer
Dim hexData As String
Dim a As Single
Dim Buffer(3) As Byte
a = Val(Text1)
CopyMemory Buffer(0), a, 4
For i = 0 To 3
If Len(Hex(Buffer(i))) = 1 Then
hexData = "0" Hex(Buffer(i)) + hexData
Else
hexData = Hex(Buffer(i)) + hexData
End If
Next
Text2 = hexData
End Sub
需要注意的事项是这四字节的高低字节排序,不能搞错。
VB的Single 数据类型:
Single(单精度浮点型)变量存储为 IEEE 32 位(4 个字节)浮点数值的形式,它的范围在负数的时候是从 -3.402823E38 到 -1.401298E-45,而在正数的时候是从 1.401298E-45 到 3.402823E38。Single 的类型声明字符为感叹号 (!)。
在内存以32位二进制形式存在:
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
第1位为符号位;
第2-9位为阶码位;
第10-32位为2进制小数尾值;
即F2 ^ n * 1. XXXXXXX XXXXXXXX XXXXXXXX;
其中,F为正号或负号(首为为0正数,首位为1负数;
n为2-9位组成的BYTE数据值;
XXXXXXX XXXXXXXX XXXXXXXX为尾数。
参考:
Q5: vb,求怎样将4字节字符串转换为一单精度浮点数??
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Function Str2Single(s As String) As Single
If LenB(s) 4 Then s = s String(4, 0)
CopyMemory Str2Single, ByVal (StrPtr(s)), ByVal 4
End Function
VB.Net字节转浮点的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vb字符型转换为数值型、VB.Net字节转浮点的信息别忘了在本站进行查找喔。







