delphi 16进制表示的double型如何转换成double型??
1个回答
展开全部
Delphi(Pascal) code
function HexCodeToDouble(sHexCode: string): Double;vari: Integer;
sPart: string;b: Byte;pByte: ^Byte;
fDouble: Double;beginfDouble := 0;
pByte := @fDouble;
for i := 0 to 7 do begin
// 每次取一个字节进行转换
sPart := Copy(sHexCode, (i*3)+1, 2);
b := Byte(StrToInt(sPart));
(pByte+i)^ := b;end;end;手边没Delphi,所以没测试,但思路如上。
哦,漏了个Result := fDouble;
哦,漏了个Result := fDouble;
哦,漏了个Result := fDouble;
估计是(pByte+i)^ := b这句有问题吧?c里面指针是可以直接加偏移量的,不知道Delphi行不行。
谁能 给我个 能直接调用的程序么 急需 没空想得
给你一个方法.自己写成函数吧:
function HexCodeToDouble(sHexCode: string): Double;vari: Integer;
sPart: string;b: Byte;pByte: ^Byte;
fDouble: Double;beginfDouble := 0;
pByte := @fDouble;
for i := 0 to 7 do begin
// 每次取一个字节进行转换
sPart := Copy(sHexCode, (i*3)+1, 2);
b := Byte(StrToInt(sPart));
(pByte+i)^ := b;end;end;手边没Delphi,所以没测试,但思路如上。
哦,漏了个Result := fDouble;
哦,漏了个Result := fDouble;
哦,漏了个Result := fDouble;
估计是(pByte+i)^ := b这句有问题吧?c里面指针是可以直接加偏移量的,不知道Delphi行不行。
谁能 给我个 能直接调用的程序么 急需 没空想得
给你一个方法.自己写成函数吧:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询