2013-04-02 81 views
3

是否存在的formatString,使得任何值:对所有正整数值高达100万Int.ToString相当于的String.Format( “{0,9}”,INT)格式

intValue.ToString(formatString) == String.Format("{0,9}", intValue) 

特别是,输出必须是9个字符,并在开始处填充空格。

000000000会给我正确的长度,但用零填充。至于为什么我不只是使用String.Format("{0,9}", intValue),我试图创建一个配置文件,第三方程序将读取并用它来创建一个输出文件,而且我不能在该程序中更改代码。我知道该程序是用C#编写的,从当前配置文件中可以明显看出它使用的是ToString()

回答

3

你不能。

Composite format strings{0:xxx})不受任何ToString重载的支持,虽然standard numeric format strings是由做采用复合格式字符串的方法支持。

标准数字格式字符串也由.NET Framework复合格式的特征,其中使用由所述控制台和StreamWriter类,String.Format方法的一些Write和WriteLine方法,以及StringBuilder.AppendFormat方法支持。