【问题标题】:Format int to hex string将 int 格式化为十六进制字符串
【发布时间】:2013-07-17 19:21:43
【问题描述】:

我有一些 int 值,我想将其转换为十六进制字符串。 此十六进制值应始终按 2 位进行格式化。

下面的例子:

int a = 10;
int b = 20;

//returns the value in hex
string c = a.toString("x"); // a
string d = b.toString("x"); // 14

我想要的是十六进制值总是两位数。显示为“0a”,而不仅仅是“a”。

我正在使用将 int 转换为格式化字符串,

int e = 1;
string f = e.toString("D2"); // 01

有办法把这两件事结合起来吗?要将 int 转换为十六进制格式的字符串?

【问题讨论】:

  • 有一个内置函数可以做到这一点。你为什么要构建一个新功能来做一些已经存在的事情?如果您想知道您所做的只是获取整数的位,然后显示字符串并将0x 添加到字符串中。
  • @Ramhound:完全不清楚你的意思。 OP 正在重用现有的 ToString 方法,而不是构建自己的方法......而且没有迹象表明他想要字符串中的“0x”。

标签: c# hex tostring


【解决方案1】:

你可以用这个

int e = 1;
string f = e.toString("x2");  

【讨论】:

    【解决方案2】:

    有办法把这两件事结合起来吗?

    是的 - 您只需使用 x2。您已经有了 x 的十六进制位和 D2 的“2 个字符”部分 - 您只需将它们组合起来。

    有关更多信息,请参阅standard numeric format strings 的文档。

    【讨论】:

      猜你喜欢
      • 2013-05-21
      • 2011-08-05
      • 1970-01-01
      • 2022-07-08
      • 1970-01-01
      • 1970-01-01
      • 2019-01-30
      • 1970-01-01
      • 2020-07-18
      相关资源
      最近更新 更多