【问题标题】:How to convert cardinal to unsigned string representation如何将基数转换为无符号字符串表示
【发布时间】:2015-08-04 19:04:19
【问题描述】:

我有一个返回 UInt32 的 dll 例程。我认为 Delphi 基数类型等同于这种类型。我想将 UInt32 值显示为字符串。然而 inttostr () 假设参数是一个有符号的 Int32,所以它有时会返回一个看起来像负值的字符串。有没有办法将基数转换为其无符号字符串表示形式?

使用 XE6。

【问题讨论】:

  • 没有UintToStr吗?
  • 你使用的是哪个 Delphi?
  • 没有发现 uinttostr,我一直在寻找……它成功了。
  • 好,你可以这样回答。
  • IntToStr() 有一个Int64 版本,而不仅仅是一个Integer 版本。此外,Delphi 2009 及更高版本有一个实际的 UInt32 类型,您应该使用它而不是 Cardinal

标签: delphi


【解决方案1】:

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

例如:

value : UInt32;

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

【讨论】:

  • UInt32UIntToStr() 是在 Delphi 2009 中引入的(是的,我看到 OP 使用的是 XE6)。 FWIW,在早期版本中,您可以将Cardinal 传递给IntToStr()Int64 版本:value: Cardinal; ... str := IntToStr(Int64(value));
猜你喜欢
  • 2019-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-20
相关资源
最近更新 更多