求DELPHI中 float转DWord格式的方法
C代码好像是这么写的
int floatToDWORD(float flo)
{
float *a = &flo;
int *b = (int*)a;
int c = *b;
return c;
}
delphi 应该怎么写呢
谢谢 Delphi C
[解决办法]
用指针或可变记录都行
TDoubleDWord = record
case integer of
0:(Vdouble:Double);
1:(Vdword:Dword);
end
指针大概如下:
var
aDouble:Double;
aDword:Dword;
aDWord:=(PDword(@aDouble))^
[解决办法]
DELPHI中,浮点数用double标示
可以将double先转换为String,FloatToStr函数进行转换
用下列函数进行转换
function StrToDword(Value: string): dword;
var
ValuePtr: PChar;
begin
ValuePtr:=@Value[1];
asm
MOV EAX, [ValuePtr]
MOV EAX, [EAX]
MOV Result, EAX end;
end;