我可以将整数值转换为ANSISTRING类型的十六进制值吗?

时间:2016-02-18 14:16:45

标签: delphi delphi-2010

在Delphi 2010中,有一个函数integer可将hexadecimal值转换为UNICODE string类型integer

我需要的功能是将hexadecimal转换为AnsiString类型的{{1}}。

2 个答案:

答案 0 :(得分:6)

转换将起作用,因为十六进制始终是ASCII字符:

MyHexString := AnsiString(IntToHex(1234, 4));

如果您需要一个函数,请编写一个包装器:

function IntToHexAnsi(Value: Integer; Digits: Integer): AnsiString;
begin
  Result := AnsiString(IntToHex(Value, Digits));
end;

答案 1 :(得分:1)

你不需要做任何特别的事情。只需将一个AnsiString类型的变量赋值给IntToHex函数的结果 - 编译器将负责将UnicodeString / STRING类型转换为AnsiString:

VAR
  AnsiStr : AnsiString;

BEGIN
  AnsiStr:=IntToHex(12345678,8);
END;