0
static void Main(string[] args)
{
    int a=0000001;
    for (int i=0; i <= 5; i++)
    {

        File.Copy(@"C:\SR\30758668.pdf", @"C:\SR\"+a+"_30758668.pdf",true);
        a++;
    }

    Console.WriteLine("\nSuccessful");
    Console.ReadLine();

}

私は上記のプログラムを作成して、1つのファイルを先頭の文字列で5回コピーしました。このファイルのように、賢明なように、0000003_30758668.pdf`30758668.pdfとして作成する必要があります。0000001_30758668.pdf0000002_30758668.pdf`,

今ではファイルを作成していますが1_30758668.pdf2_30758668.pdf私はこの方法を望んでいません。

整数または文字列に変換する場所がわかりませんか?

4

4 に答える 4

7

そしてint、フォーマットはありません。01は1と同じです。1は00000001と同じです。これらはすべて1です。

使用する:

 .... + a.ToString().PadLeft(7,'0') + ...
于 2012-05-24T14:25:11.027 に答える
1

String.Formatを使用します。すなわち:

File.Copy(@"C:\SR\30758668.pdf", "C:\SR\" + a.Tostring("000000") + "_30758668.pdf", true);

または、String.Formatを使用して、文字列の作成を改善します。

File.Copy(@"C:\SR\30758668.pdf", String.Format(@"C:\SR\{0}_30758668.pdf", a.ToString("000000")), true);
于 2012-05-24T14:27:15.953 に答える
0

明示的にパディングする代わりに、Dxフォーマット指定子を次の場所で使用することもできToString()ますstring.Format()

例えば:

File.Copy(@"C:\SR\30758668.pdf", @"C:\SR\" + a.ToString("D7") + "_30758668.pdf",true);
于 2012-05-24T14:27:22.863 に答える
0

数値データ型に先行ゼロを指定することはできません。文字列に変換し、PadLeftを使用して目的の文字でパディングする必要があります。PadLeftの最初のパラメーターは、必要な文字列の合計幅を示し、2番目のパラメーターは、パディングに使用される文字を示します。

int a=1; 

for (int i=0; i <= 5; i++) 
 { 

            File.Copy(@"C:\SR\30758668.pdf", @"C:\SR\"+ a.ToString().PadLeft(7, "0")+ "_30758668.pdf",true); 

        } 

        Console.WriteLine("\nSuccessful"); 
        Console.ReadLine(); 

    }
于 2012-05-24T14:30:50.217 に答える