16进制数都是表示整数,没有办法同浮点数进行转换的,如果同整数进行转换的话,你可以直接用:
var
HexString: string;
N: Integer;
begin
HexString := IntToHex(1,4);//第一个参数是要转换的数字,第二个是转换成几位的
N := StrToInt('$' + HexString);//转换回去,在Rarnu那学的这一招
ShowMessage(IntToStr(N));
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i :double;
a:string;
begin
a:='2a';
i := StrToint('$'+a);
ShowMessage(format('%.6f',[i]));//.6表示保留六位小数
end;
试试吧,我没办法变成双精度的
参考intel和delphi language handbook吧。