VB.Net字节转浮点 c#字符串转浮点

vb.net中如何将字符串型转换成浮点型

Dim s As String = "你的字符串"

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、成都做网站、赤峰网络推广、小程序开发、赤峰网络营销、赤峰企业策划、赤峰品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供赤峰建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

Dim si As Single = CType(Val(s), Single)

MsgBox(si)

程序里测试通过 你试试看。

怎么将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为尾数。

参考:

如何用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,求怎样将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 如何将整数型数据类型转换成单浮点数据类型

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)输出为2,是Integer数据类型的字节数。

Debug.Print LenB(MySingle)输出为4,是Single数据类型的字节数。

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.Net字节转浮点 c#字符串转浮点
当前链接:http://myzitong.com/article/dooidgj.html