0

C#の次の問題(VS Community 2015で動作):

まず、私はC#にかなり慣れていないので、その質問が簡単に修正できるかどうかをお許しください。

一連の数字(長さ測定)を提供する接触センサーがあります。SystemPort メソッドでそれらを読み取り、部分文字列で必要な数字に切り詰めます (文字列の先頭にある「SR00002」は役に立たない)。

最終的には、「000.3422」または「012.2345」のような文字列になります。今、私はその文字列を、作業できる1つの固体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 になると Textbox に印刷できないことはわかっていますが、後でそれを処理してください。

すべてがそれに応じて変換されると、変換を独自のメソッドに外部委託するのは適切ではありません =)

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 に答える