2015-10-17 103 views
1

我希望在for循环中保留变量的三位数。例如。如何在for循环中保留变量的位数

for (int i = 002; i <= 033; i++) 
{ 
     string localFilename = @"\\psf\Home\Pictures\Maulavi\" + i + ".jpg"; 
     using (WebClient client = new WebClient()) 
     { 
      MessageBox.Show(i.ToString()); 
      client.DownloadFile("http://eap.bl.uk/EAPDigitalItems/EAP566/EAP566_1_1_19_2-EAP566_Maulvi_January_1946_v43_no2_" + i + "_L.jpg", localFilename); 
     } 
} 

但是我变成是刚刚23等。我希望它留为002003等我该怎么办呢?

+2

使用strring.format –

回答

2

尝试ToString("000")这样的:

for (int i = 002; i <= 033; i++) 
{ 
    .... 
    .... 
    MessageBox.Show(i.ToString("000")); // 002 , 003 , ... 
} 
0

格式字符串的函数ToString()超载:

for(int i = 2; i <= 33; i++) 
{ 
    string localFilename = @"\\psf\Home\Pictures\Maulavi\" + i.ToString("000") + ".jpg"; 
} 

或者你可以使用Format功能:

String.Format("{0:000}", i); 
0

使用的String.format( @“\ psf \ Home \ Pictures \ Maulavi {0:000} .jpg”,i)

格式也会比字符串连接有更好的性能。

0

使用像下面的,只要你想它的作品:

 char padChar = '0'; 
     for (int i = 002; i <= 033; i++) 
     { 
      string localFilename = @"\\psf\Home\Pictures\Maulavi\" + i + ".jpg"; 
      string padStr = i.ToString().PadLeft(3,padChar); 
      using (WebClient client = new WebClient()) 
      { 
       MessageBox.Show(i.ToString()); 
       client.DownloadFile("http://eap.bl.uk/EAPDigitalItems/EAP566/EAP566_1_1_19_2-EAP566_Maulvi_January_1946_v43_no2_" + padStr + "_L.jpg", localFilename); 
      } 
     } 

有关详情,请访问:http://mahedee.net/padding-character-with-string/