formatString
是否有任何值:
intValue.ToString(formatString) == String.Format("{0,9}", intValue)
所有正整数值高达1百万?
特别是,输出必须是9个字符,并在开头填充空格。
000000000
会给我正确的长度,但用零填充。
至于为什么我不只是使用String.Format("{0,9}", intValue)
,我试图创建一个配置文件,第三方程序将读取并用于创建输出文件,我无法更改此程序中的代码。我知道程序是用C#编写的,从当前配置文件可以看出它使用了ToString()
。
答案 0 :(得分:3)
你不能。
任何{0:xxx}
重载都不支持 Composite format strings(ToString
),但使用复合格式字符串的方法支持standard numeric format strings。
.NET Framework复合格式化功能也支持标准数字格式字符串,Console和StreamWriter类的一些Write和WriteLine方法,String.Format方法和StringBuilder.AppendFormat方法使用该功能。