我试图从textBox中获取用户定义的十进制值,转换为十六进制(带有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之间的十进制值(用户输入的值)替换标题中的第13个字节。用户输入小数而不是十六进制值(即2600,而不是A28)更容易。
答案 0 :(得分:3)
String.Format()
string hexString =String.Format("0X{0:X}", decimalNumber);
答案 1 :(得分:0)
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());