私はInt32に変換してテキストボックスに表示する4バイトの値を持っています。そこに問題はありません。問題は、0で文字列を埋めてみるときに発生します。 10進数を表示するときは常に8文字を含める必要があります。したがって、それより小さい場合は0を埋めたいと思います。ここで C#forループが正しく反復しない
string parmDecString = BitConverter.ToInt32(testNum, 0).ToString();
Console.WriteLine("length: {0} - {1}", parmDecString.Length, (8 - parmDecString.Length));
for (int l=0; l < (8-parmDecString.Length); l++)
{
parmDecString = "0" + parmDecString;
}
textBox74.Text = parmDecString;
が、私は異なる「parmDecStringの価値観に基づいて取得するテキストボックスに出力です:すべてのループで
parmDecString = "123"
Console: length: 3 - 5
textbox: 00<=== only 3 times in the 'for' loop, expected 5x
parmDecString = "12345"
Console: length: 5 - 3
textbox: 0<=== only 2 times in the 'for' loop, expected 3x
parmDecString = "12345678"
Console: length: 8 - 0
textbox: 12345678 <=== as expected
'parmDecString.Length'が変化しています。 – SLaks
私はSLaksに同意します –
または、ちょうどPadLeftを使用してください。https://msdn.microsoft.com/en-us/library/92h5dc07(v=vs.110).aspx – hatchet