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;