Delphi 如何将基数转换为无符号字符串表示

Delphi 如何将基数转换为无符号字符串表示,delphi,Delphi,我有一个返回UInt32的dll例程。我推测Delphi基数类型与此类型等效。我想将UInt32值显示为字符串。但是,inttostr()假定参数是有符号的Int32,因此它有时会返回一个外观为负值的字符串。有没有办法将基数转换为其无符号字符串表示形式 使用XE6.要将UInt32整数类型转换为等效的无符号字符串,请使用以下方法 例如: value : UInt32; value := 4294967294; str := UIntToStr (value); // str now equal

我有一个返回UInt32的dll例程。我推测Delphi基数类型与此类型等效。我想将UInt32值显示为字符串。但是,inttostr()假定参数是有符号的Int32,因此它有时会返回一个外观为负值的字符串。有没有办法将基数转换为其无符号字符串表示形式


使用XE6.

要将UInt32整数类型转换为等效的无符号字符串,请使用以下方法

例如:

value : UInt32;

value := 4294967294;
str := UIntToStr (value);
// str now equals '4294967294'

没有uintotstr吗?您使用的是哪种Delphi?没有发现uintotstr,我一直在寻找……它起了作用。很好,您可以这样回答。
IntToStr()
有一个
Int64
版本,而不仅仅是
Integer
版本。另外,Delphi 2009和更高版本有一个实际的
UInt32
类型,您应该使用它来代替Delphi 2009中引入的
Cardinal
UInt32
uintotstr()
(是的,我看到OP使用的是XE6)。FWIW,在早期版本中,您可以将
Cardinal
传递给
IntToStr()
Int64
版本:
value:Cardinal。。。str:=IntToStr(Int64(值))