注册 登录
编程论坛 VB6论坛

求助: vb 数据转成 float 方法

风火九天 发布于 2014-07-11 12:09, 2238 次点击
各位老师好:

    在VB中,从数据文里显示4个字节为:00,00,96,44。DEC显示是:1,150,681,088。请问在VB中,怎样才能显示出float模式的:1200。谢谢


如图:
只有本站会员才能查看附件,请 登录


5 回复
#2
风吹过b2014-07-11 13:45
使用 CopyMemory API 函数吧。

定义一个 Float 的变量,
然后把这人数组 复制过去,声明时按地址传递。

警告,这个API函数调用时,如果传递的地址有错误,会导致 应用程序/VB6 无提示的直接关闭。
#3
bczgvip2014-07-11 14:13
程序代码:
Option Explicit
Private Type makelong
    l As Long
End Type
Private Type makesingle
    f As Single
End Type
Private Sub Form_Load()
    Dim tl As makelong
    Dim tf As makesingle
    tl.l = &H44960000
    LSet tf = tl
    Debug.Print tf.f
End Sub
LSet 这个也可以。
#4
风火九天2014-07-11 20:55
谢谢2位版主。
  还想请教bczgvip版主,在tl.l=&H44960000句子中,如果“44960000”是一个变量而不是具体的数值,那这段代码如何写呢?再谢!!!!
#5
风吹过b2014-07-11 23:24
它这里是一个整数。变量是整数,就照样直接给它。
如果你是从 byte数组过来,要么你修改结构体定义(在手机上无法测试)。要么你转成整数。要么用我的方法。
lset 结构体复制结构体,不考虑数据类型,只考虑长度。
#6
风火九天2014-07-12 10:23
谢谢2位版主的指教!!!!按你们的方法解决了。
这个论坛因为你们而更加精彩!
1