将十进制(用户字符串)转换为带有 0x 前缀的十六进制

Converting a decimal (user string) into hex with 0x prefix

我正在尝试从文本框中获取用户定义的十进制值,转换为十六进制(带有 0x)前缀,然后将该值存储为整数。我目前坚持获取 0x 前缀,但也许有更合适的方法来完成此操作。

        string decimalString = textBox1.Text;

        //Convert decimalString string into an int
        int decimalNumber = int.Parse(decimalString);
        //Convert decimalNumber to a hex string
        string hexString = decimalNumber.ToString("X");

        Console.Write(decimalNumber);

        //TextBox Input: 151
        //Console Output: 97
        //Desired Output: 0x97 (as a string, but would like to assign to int if possible).
        int finalDesiredOutput = 0x97;

希望我解释得很好。

在这个项目中,我试图用 0-2600 之间的十进制值(用户输入的值)替换 header 中的第 13 个字节。用户输入小数比输入十六进制值更容易(即 2600,而不是 A28)。

String.Format()

 string hexString =String.Format("0X{0:X}", decimalNumber);
StringBuilder sb = new StringBuilder();

string hex = "C26B3CB3833E42D8270DC10C";


for (int i = 0; i < hex.Length; i++)
{
    if(i%2==0)
    {
         sb.Append(",0x").Append(hex.Substring(i, 2));
    }
}
Console.WriteLine(sb.ToString());