Delphi十六进制字符串转换十进制32位整数

Delphi 自带函数 IntToHex

功能说明:该函数用于将“十进制”转换成“十六进制”。该函数有二个参数。第一个参数为要转换的十进制数据,第二个参数是指定使用多少位来显示十六进制数据。

参考实例:
  Edit1.Text := IntToHex('100', 2);
  执行结果,Edit1.Text等于64。

procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  Label1.Caption := '';
  for i := 1 to Length(Edit1.Text) do
  begin
    try
      Label1.Caption :=
        Label1.Caption +
        SysUtils.IntToHex(Byte(Edit1.Text[i]),2) + ' ';
    except
      Beep;
    end;
  end;
end;


  注意:Delphi没有提供专门的“十六进制”转换为“十进制”的函数。使用StrToInt函数可以实现这个功能。具体代码是:I := StrToInt('$' + '64'); 这时I等于100。也就是在加上一个'$'即可将“十六进制”转换为“十进制”。

procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
  J: Integer;
begin
  I := StrToInt(Edit1.Text);
  J := StrToInt(Edit2.Text);
  ShowMessage(IntToStr(I + J));
end;

// 十进制转十六进制
var
    i: integer;
   str: string;
begin
    i := 255;
    ShowMessage(IntToHex(I, 2));   //FF   2表示返回的位数 
// 另外,Formart也有把十进制用十六进制输出的功能
   str := Format('%.2x', [i]);
   ShowMessage(str);              // FF  返回结果跟IntToStr()函数想一样
end;
delphi没有提供十六进制转成十进制的函数,但我们可以在十进制前面加一个十六进制符号'$',再用StrToInt()转换


var
    str: string;
    int: integer;
begin
    Str := 'FF';
    int := StrToInt('$' + str); 
    ShowMessage(IntToStr(int)); //255
end;

你可能感兴趣的:(Delphi)