【问题标题】:Converting a hex string to a dec string将十六进制字符串转换为十进制字符串
【发布时间】:2018-12-05 10:07:59
【问题描述】:

我目前的任务是构建一个程序,可以将不同的数字字符串转换为其他数字系统,我主要使用类似于此的方法

    string ConvToDec(string input)
    {
        return String.Join(".", (input.Split('.').Select(x => Convert.ToString(Convert.ToInt32(x, 2)))).ToArray());
    }

要转换,当我想从十六进制转换为十二月时,我似乎无法正常工作。我尝试了一些我在这里找到的解决方案,比如在this 线程中找到的解决方案,但没有似乎对我有用。

【问题讨论】:

  • 你能显示输入的内容吗?同样ConvToDec 听起来会产生误导,如果您的输入始终是十六进制字符串,那么将其命名为 ConvHexToDec 之类的名称。
  • @SeM 输入将是一个文本框的内容,执行它看起来像这样TextBox2.Text = ConvToDec(TextBox1.Text);
  • 输入来自哪里并不重要。你能展示你的输入(你测试了什么)吗?
  • 这是我正在使用的另一种方法,我实际上必须正常工作,作为“应该”看起来如何的示例。无论如何,我像this 一样测试它
  • 您能否在您的问题中添加一个string input 值?

标签: c# numbers numeric


【解决方案1】:

Convert.ToInt32(x, 2) 将二进制数字符串转换为 int(这就是 2 所说的)。

在上面的表达式中使用Convert.ToInt32(x, 16) 将十六进制字符串转换为整数。

输入c0.80 然后将192.128 作为输出。

【讨论】: