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

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;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值