2013-04-02 60 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方法支持。