16进制字符串为:405C7107AD9735B3,
将该16进制表示的浮点数转换成10进制数为:113.766093633332,
求转换程序,
该程序最好和C#中的BitConverter.ToDouble()具有相同效果,
谢谢

解决方案 »

  1.   

    var
      S : String;
      D : Double;
    begin
      S := '405C7107AD9735B3';
      //一行就搞定了
      PInt64(@D)^ := StrToInt64('$' + S);  ShowMessage(FloatToStr(D));
    end;
      

  2.   

    Int64是整数 我要的结果是实数
      

  3.   

    你可以试一下不就知道了,给了一个ShowMessage显示结果的呀
      

  4.   

    我是新手,在delphi7的环境下,怎么测试?new一个form吗?
      

  5.   

    我new了一个form,之后拖了一个button,在按钮响应程序里拷贝了你的代码,但是ctrl+F9执行的时候,弹出来这样的错误:could not find program,'…\Bin\IpAccessServer.exe'
    什么意思?
      

  6.   

    啥??你delphi没装完整吧。。
      

  7.   

    procedure TForm1.btn1Click(Sender: TObject);
    var
      S : String;
      D : Double;
    begin
      S := '405C7107AD9735B3';
      //一行就搞定了
      PInt64(@D)^ := StrToInt64('$' + S);  ShowMessage(FloatToStr(D));
    end;