0

C# 中的以下问题(在 VS Community 2015 中工作):

首先,我对 C# 相当陌生,所以如果这个问题很容易解决,请原谅。

我有一个接触传感器给我一串数字(长度测量)。我用 SystemPort 方法读取它们,并用子字符串将它们减少到我需要的数字(作为字符串的开头,“SR00002”对我来说没用)。

最后我得到一个字符串,如:“000.3422”或“012.2345”。现在我想将该字符串转换为一个我可以使用的实体 int 变量,这意味着从中减去值等。

Bsp:我想计算 012.234 - 000.3422 (或者,而不是。但我可以事先更改)

我已经尝试过 Parse 和 ConvertToInt(在遍历字符串时),但最终结果始终是一个字符串。

    string b = serialPort2.ReadLine();
    string[] b1 = Regex.Split(b, "SR,00,002,");
    string b2 = b1[1].Substring(1);
    foreach (char c in b2)
    {
        Convert.ToInt32(c);
    }                
    textBox2.Text = b2 + b2.GetType();

我知道当 b2 为 int 时,它不能在文本框中打印,但稍后会处理。

当一切都相应地转换时,将转换外包给它自己的方法=)

GetType 仅用于测试,如前所述,仅显示 System.String (我不想要)。帮助将不胜感激。我还浏览了搜索功能和谷歌,但找不到任何帮助。我希望任何可能的帮手有一个美好的一天,克里斯。

4

2 回答 2

0

您需要将转换后的值分配给一个新变量或数组,该变量或数组采用int或您想要的其他数值。

int[] numbers = new int[b1.length];
for(int i = 0; i < b2.length; i++)
    {
        numbers[i]  = Convert.ToInt32(b2[i]);
    }
于 2016-11-16T11:53:18.427 回答
0

使用 int.Parse

int.Parse("123")

于 2016-11-16T11:54:50.083 回答