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

Ger*_*tch 1 c# hex decimal data-conversion winforms

我正在尝试从文本框中获取用户定义的十进制值,将其转换为十六进制(带有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;
Run Code Online (Sandbox Code Playgroud)

希望我能很好地解释这一点。

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

suj*_*lil 5

关于什么 String.Format()

 string hexString =String.Format("0X{0:X}", decimalNumber);
Run Code Online (Sandbox Code Playgroud)