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