关于C#输出格式控制问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 02:11:38
我从MSDN上复制了一段C#代码,它显示输出结果是:美元符号加数字,我在VS2005上输出的却是:人民币符号加数字,怎么回事啊,怎么改成和它的输出一致啊
还有, Console.WriteLine("Bill total:\t{0:c}", 20);与 Console.WriteLine("Bill total:\t{0,8:c}", 20);有什么区别啊,好像没有啊,请高手指点

格式项的语法是 {index[,alignment][:formatString]},它指定了一个强制索引、格式化文本的可选长度和对齐方式,以及格式说明符字符的可选字符串,其中格式说明符字符用于控制如何设置相应对象的值的格式。格式项的组成部分包括:

index
从零开始的整数,指示对象列表中要格式化的元素。如果由 index 指定的对象是 空引用(在 Visual Basic 中为 Nothing),则格式项将被空字符串 ("") 替换。

alignment
可选整数,指示包含格式化值的区域的最小宽度。如果格式化值的长度小于 alignment,则用空格填充该区域。如果 alignment 为负,则格式化的值将在该区域中左对齐;如果 alignment 为正,则格式化的值将右对齐。如果没有指定 alignment,则该区域的长度为格式化值的长度。如果指定 alignment,则需使用逗号。

formatString
可选的格式说明符字符串。如果没有指定 formatString,并且对应的参数实现了 IFormattable 接口,则将 空引用(在 Visual Basic 中为 Nothing) 用作 IFormattable.ToString 格式字符串。因此,IFormattable.ToString 的所有实现都必须允许 空引用(在 Visual Basic 中为 Nothing) 作为格式字符串,并以 String 对象的形式返回对象表示形式的默认格式设置。如果指定 formatString,则必须使用冒号。

必须使用前导大括号字符和后缀大括号字符,即“{”和“}”。若要在 format 中指定单个大括号字符,请指定两个前导大括号字符或后缀大括号字符(即“{{”或“}}”)。

如果 format 的值为“Thank you for your purchase of {0:####} copies of Microsoft®.NET (Core Reference).”,并且 arg0 是值为 123 的 Int16,则返回值为:

“Thank you