请教大人:有将十六进制转换成十进制的好方法吗?

解决方案 »

  1.   

    //转换16进制数
          Edit2.Text := IntToHex(StrToInt64(Edit1.Text),2)
    //转换10进制数
     Edit4.Text := IntToStr(StrToInt64('$'+Edit3.Text)) 
      

  2.   

    贴个自己写的转换,按权展开法原理写的var
    s:string;
    fin,i,n:integer;
    function zhuan(c:char):integer;
    begin
    if (c>='A') and (c<='F') then zhuan:=ord(c)-55
        else zhuan:=ord(c)-48;
    end;begin
    readln(s);//S为要转换的16进制数
    n:=length(s);
    fin:=0;
    for i:=1 to length(s) do
     begin
       fin:=fin+zhuan(s[i])*trunc(exp((n-i)*ln(16)));
     end;
    //fin为最终转换后的10进制结果
    end.