10进制与16进制之间的转换 delphi

2023-02-28,

delphi中有直接把10进制转换成16进制的函数:

function   IntToHex(Value:   Integer;   Digits:   Integer):   string;   overload;  
  function   IntToHex(Value:   Int64;   Digits:   Integer):   string;   overload;

使用方法为:

procedure   TForm1.Button1Click(Sender:   TObject);  
var  
      i,m:   Integer;   
begin   
   Label1.Caption   :=   '';   
   for   i   :=   1  to  Length(Edit1.Text)  do   
   begin

m :=  StrToInt(Edit1.Text[i]));     
      edit2 := IntToHex(StrToInt(Edit1.Text[i]),2)+ '';   
      edit3 := IntToHex(m,2);

end;   
end;

然而,delphi中却没有把16进制直接转换成10进制的函数,将16进制转换成10进制需要自己定义函数,这是自己编写的一个,不当之处还请指出:

function HexToInt (str:string) : word;
var
   i , value : word;
   pos : word;

begin
   value:=0;
   pos:=length(str);
   for i:=1 to pos  do
   begin
      case str[i] of
      'f','F':
              value := value*16+15;
      'e','E':
              value := value*16+14;
      'd','D':
              value := value*16+13;
      'c','C':
              value := value*16+12;
      'b','B':
              value := value*16+11;
      'a','A':
              value := value*16+10;
      '0'..'9':
              value := value*16+ord(str[i])-ord('0');
      else
         result:=value;
         exit;
      end;
   result:=value;
  end;
 
end;

10进制与16进制之间的转换 delphi的相关教程结束。

《10进制与16进制之间的转换 delphi.doc》

下载本文的Word格式文档,以方便收藏与打印。