急求:delphi中16进制转成10进制的函数
以前用:
DecNum:=StrToInt('$'+HexNum);
但是不行,比如16进制数:83231d27,本来应该是:2200116519
但是上面转出的是负数

解决方案 »

  1.   

    function HexToInt(Tstr:string):longint;  //十六进制转十进制
    var i,Tlen :integer;
        p1:array [0..1] of char;
    begin
       result:=0;
       Tstr:=trim(Tstr);
       tlen:=length(Tstr);
       for i:=1 to tlen do
       begin
         StrPcopy(p1,copy(Tstr,i,1));
         result:=result*16+Toint(p1[0]);
       end
    end;
      

  2.   

    数太大了,改成StrToInt64
    DecNum:=StrToInt64('$'+HexNum);
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      i : integer;
    begin
      i:=$152;
      Showmessage(Inttostr(i));
    end;