0

我需要帮助来划分像这样的十六进制字符。我知道这行不通。如果我输入 418,我的答案应该是 20C。我正在使用 C# 谢谢

private void button23_Click(object sender, EventArgs e)  //calculator
    {

        {
            offset = textBox10.Text;

           offset hex / 2 = offset2


            textBox11.Text = offset2;

        }
    }
4

2 回答 2

1

NumberStyles有点深奥,但这就是你的做法:

int offset = int.Parse(textBox10.Text, System.Globalization.NumberStyles.HexNumber);
int offset2 = offset / 2;
textBox11.Text = String.Format("{0:X}", offset2);

当然,您可能需要对用户输入进行更多处理和验证。也可以查看int.TryParse不同的 int 大小(例如Int64)。

于 2013-06-19T01:20:53.493 回答
0

您可以使用int.Parse将十六进制字符串转换为int,对其执行所需的任何算术运算,然后ToString将其转换回十六进制字符串。

string offset = textBox10.Text;
int val = int.Parse(offset, System.Globalization.NumberStyles.HexNumber);
int div = val / 2;
string offset2 = div.ToString("X");
textBox11.Text = offset2;
于 2013-06-19T01:21:08.917 回答