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

rho*_*ody 1 delphi

我有一个返回UInt32的DLL例程.我认为德尔福基数类型相当于这种类型.我想将UInt32值显示为字符串.但是,inttostr()假定参数是带符号的Int32,因此它有时会返回一个具有负值外观的字符串.有没有办法将基数转换为无符号字符串表示?

使用XE6.

rho*_*ody 7

要将UInt32整数类型转换为无符号字符串等效,请使用该方法UIntToStr.

例如:

value : UInt32;

value := 4294967294;
str := UIntToStr (value);
// str now equals '4294967294'
Run Code Online (Sandbox Code Playgroud)

  • 在Delphi 2009中引入了"UInt32"和"UIntToStr()"(是的,我看到OP正在使用XE6).FWIW,在早期版本中,你可以将`Cardinal`传递给`IntToStr()`的`Int64`版本:`value:Cardinal; ... str:= IntToStr(Int64(value));`. (4认同)