我有一个4字节的值,我将其转换为Int32,然后将其显示在文本框中。那里没有问题。当我尝试用0填充字符串时,问题就出现了。当我显示小数时,它应该总是包含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