创建固定长度数字字符串

use*_*679 0 c# string

我有一定数量的文件,我需要在我的程序中使用文件名.这些文件具有固定的命名方式,即(前缀+数字).jpg.对于如:head001.jpg,head002.jpg,head003.jpg等等等等.

到底位的数量可以是不同的-这样的程序有变量发生变化,其中从文件,命名开始的地方结束,许多号码数字是如何在命名中使用.对于例如:第二种情况可能是- ,,tail00001.jpg 等等,直到 在这种情况下:启动位将是0,最终数字将是100和numDigits将5tail00002.jpgtail00003.jpgtail00100.jpg

在C++中,我看到这种格式化的完成如下:
format <<prefix<<"%0"<<numDigits<<"d."<<filetype;//其中format是astringstream

但是,我不太确定在C#中执行此操作的最佳方法,并且想知道如何解决此问题.

Jon*_*eet 7

只要使用string.Format,具有精度说明说你要多少个数字:

string name = string.Format("tail{0:d6}.jpg", index);
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅MSDN文档中的标准数字字符串格式.

您当然可以通过编程方式构建字符串格式:

string name = string.Format("tail{0:d" + digits + "}.jpg", index);
Run Code Online (Sandbox Code Playgroud)

PadLeft按照Vano的建议使用.您可能仍想使用string.Format:

string name = string.Format("tail{0}.jpg",
                            index.ToString().PadLeft(digits, '0'));
Run Code Online (Sandbox Code Playgroud)

使用PadLeft的优势在于更容易更改填充值,尽管我想你0无论如何总是希望它.