在 .NET 中将数字转换为十六进制值

Posted

技术标签:

【中文标题】在 .NET 中将数字转换为十六进制值【英文标题】:Convert a number into the hex value in .NET 【发布时间】:2011-05-02 05:25:46 【问题描述】:

我需要将整数转换为十六进制值。它看起来像这样:

0x0201cb77192c851c

当我这样做时

string hex = int.ToString("x")

在 C# 中,它返回

201cb77192c851c

我怎样才能得到所需的结果?

【问题讨论】:

【参考方案1】:
string hex = "0x" + int.ToString("x16")

【讨论】:

应该是'int.ToString("x8")',还是? 4 个字节,两个位置 = 8【参考方案2】:

一种方法是在“x”之后附加您需要的位数。这将根据需要用前导零填充输出。

"0x" + myLong.ToString("x16");

string.Format("0x0:x16", myLong);

来自The Hexadecimal ("X") Format Specifier :

精度说明符表示 所需的最小位数 结果字符串。如果需要,该 number 用零填充到它的 左产生位数 由精度说明符给出。

【讨论】:

好吧,你的答案很有效,如果我支持你的,你会支持我的,哈哈 @John Boker:谢谢,但您需要精度说明符。 @ani 精度说明符不在规范中。 @John Boker:注意 OP 样本中的前导零。 @ani,你是对的,我喝醉了,不管我说什么......我想要 13k,快到了。 :)

以上是关于在 .NET 中将数字转换为十六进制值的主要内容,如果未能解决你的问题,请参考以下文章

如何在Java中将字符从字母字符转换为十六进制数字?

在java中将十六进制数字字符串转换为双精度数字

如何在 C++ 中将十六进制数字转换为二进制?

如何在 C++ 中将 RGB 颜色值转换为十六进制值?

在存储过程中将 varchar 转换为数字时出错

在python中将指数形式的数字转换为十进制形式[重复]