如题,将0.999876
转为MYBYTE(3) AS BYTE

解决方案 »

  1.   

    用api函数CopyMemory :Option Explicit
    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)Private Sub Command1_Click()
        Dim i As Single
        Dim mybyte(3) As Byte
        i = 0.999876
        CopyMemory mybyte(0), i, 4
        Dim j As Long
        For j = 0 To 3
            Debug.Print mybyte(j)
        Next
    End Sub
      

  2.   

    那怎么把BYTE数组转为SINGLE值呢?
      

  3.   

    to  ClassicWuHao(wuhao) :
    有道理,不过单一变量的话,只要注意其存储空间的话,是没有理由溢出的
    to wangsitao(飞猪) :
    这样把BYTE数组转为SINGLE值:
    Option Explicit
    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)Private Sub Command1_Click()
        Dim i As Single
        Dim mybyte(3) As Byte
        mybyte(0) = 240
        mybyte(1) = 251
        mybyte(2) = 255
        mybyte(3) = 63
        CopyMemory i, mybyte(0), 4
        Debug.Print i
    End Sub