你的問題是i
仍然是一個整數,它需要被分配到一個字符串
for (int i = 1; i <= 36; i++)
{
var iString = i.ToString();
if(iString.Length == 1)
{
iString = iString.PadLeft(2,'0'); //RIGHT HERE!!!
}
Response.Write("Test: " + iString);
}
然而,大部分代碼是superflous,不需要if
聲明。墊只能用零直到長度(2)。如果它已經有2個或更多的字符長度,它不會填充任何東西。所有你需要的是這個
for (int i = 1; i <= 36; i++)
{
var iString = i.ToString().PadLeft(2,'0');
Response.Write("Test: " + iString);
}
對於這個問題,變量不再需要。
for (int i = 1; i <= 36; i++)
{
Response.Write("Test: " + i.ToString().PadLeft(2,'0'));
}
而且如果你將填充用零所有的時間,而不是其它的性格,你可能只是這樣做
for (int i = 1; i <= 36; i++)
{
Response.Write("Test: " + i.ToString("00"));
}
你應該養成使用string.Format
的習慣
for (int i = 1; i <= 36; i++)
{
Response.Write(string.Format("Test: {0}", i.ToString("00")));
}
關閉,但你剛纔扔的結果了。 – harold
請參閱我不喜歡關閉此問題,因爲問題是關於填充問題,OP與此無關的問題,具有諷刺意味的是,他做的是正確的,他只是沒有正確分配值。 – CaffGeek
@CaffGeek問題是沒有人有同樣的問題將永遠看不到正確的答案,因爲問題不是問正確的事情。這可能會得到挽救,以解決正確的問題,但是你至少有1個答案沒有解決OP的實際問題 – psubsee2003