如何使用c#将十进制转换为十六进制

本文关键字:转换 十六进制 十进制 何使用 | 更新日期: 2023-09-27 18:08:48

我有一个用Delphi编写的程序正在将11转换为0xB和28转换为0x1c。我尝试在c#中转换11(十进制到十六进制),使用这个:-

var deciValue01 = 11;
var deciValue02 = 28;
var deciValue03 = 13;
System.Diagnostics.Debug.WriteLine(string.Format("11 = {0:x}", deciValue01));
System.Diagnostics.Debug.WriteLine(string.Format("28 = {0:x}", deciValue02));
System.Diagnostics.Debug.WriteLine(string.Format("13 = {0:x}", deciValue03));

,但我得到的结果是:-

  • 11 = b
  • 28 = 1c

想知道如何将11转换为'0xB'和28转换为'0x1c'和13转换为'0xD'?不是我需要从十进制改为十六进制吗?

如何使用c#将十进制转换为十六进制

您只需要使用X使其大写十六进制数字而不是小写,并自己添加0x:

// Add using System.Diagnostics; at the top of the file... no need to
// explicitly qualify all your type names
Debug.WriteLine(string.Format("11 = 0x{0:X}", deciValue01));
Debug.WriteLine(string.Format("28 = 0x{0:X}", deciValue02));
Debug.WriteLine(string.Format("13 = 0x{0:X}", deciValue03));

注意deciValue01值本身既不是"十进制"也不是"十六进制"。它们只是数字。"十进制"或"十六进制"的概念只有在讨论文本表示时才有意义,至少对于整数是这样。(这对浮点数很重要,因为可表示类型的集合取决于所使用的基数。)

Try This

int value = Convert.ToInt32(/*"HexValue"*/);
String hexRepresentation = Convert.ToString(value, 16);

听起来你想要这个…

var deciValue01 = 11;
var deciValue02 = 28;
var deciValue03 = 13;
System.Diagnostics.Debug.WriteLine(string.Format("11 = 0x{0:x}", deciValue01));
System.Diagnostics.Debug.WriteLine(string.Format("28 = 0x{0:x}", deciValue02));
System.Diagnostics.Debug.WriteLine(string.Format("13 = 0x{0:x}", deciValue03));