C# String.Format深度解析:格式化字符串示例

需积分: 45 25 下载量 178 浏览量 更新于2024-09-15 1 收藏 4KB TXT 举报
"C# String.Format格式化字符串的使用与示例" 在C#编程语言中,`String.Format`方法是一种强大的工具,用于构建和格式化字符串。它允许程序员将变量值插入到字符串模板中,并根据指定的格式进行显示。通过使用占位符和格式说明符,`String.Format`可以生成各种类型的输出,包括数字、日期、货币等。 格式说明符是`String.Format`中的关键部分,它们决定了输出值的样式。以下是一些常见的格式说明符及其用途: 1. **C**:货币格式。例如,`"{0:C3}"`会将数字格式化为具有三位小数的货币值。如`string.Format("{0:C3}", 2)`输出为`2.000`。 2. **D**:十进制整数格式。`"{0:D3}"`会将数字转换为带有前导零的三位整数。例如`string.Format("{0:D3}", 2)`输出为`002`。 3. **E**:科学记数法。`"{0:E}"`将数字表示为科学记数法。如`string.Format("{0:E}", 1.2)`输出为`1.20E+001`。 4. **G**:常规格式。`"{0:G}"`是最简洁的表示形式,对于数字来说,它通常意味着固定点或普通格式。例如`string.Format("{0:G}", 2)`输出为`2`。 5. **N**:数字格式,包含千位分隔符。`"{0:N}"`会添加逗号作为千位分隔符。如`string.Format("{0:N}", 250000)`输出为`250,000.00`。 6. **X**:十六进制格式。`"{0:X000}"`会将数字转换为四位的十六进制字符串。如`string.Format("{0:X000}", 12)`输出为`C`。 7. **0**:填充零。`"{0:000.000}"`会确保数值有三位整数和三位小数,不足的部分用零填充。例如`string.Format("{0:000.000}", 12.2)`输出为`012.200`。 除了格式说明符,`String.Format`还可以通过逗号(`,`)来设置对齐。例如,`"->{1,10}<-"`将输出的字符串右对齐并填充空格,使得总宽度为10。`"->{1,-10}<-"`则会左对齐。 对于数值,`String.Format`支持基本的数值格式化: - `c`:货币格式,如`"{0:c}"`。 - `d`:十进制整数,如`"{0:d}"`,但传递负数时会引发`FormatException`。 - `e`:科学记数法,如`"{0:e}"`。 - `f`:固定点格式,如`"{0:f}"`。 - `g`:通用格式,如`"{0:g}"`。 - `n`:带千位分隔符的数字,如`"{0:n}"`。 - `r`:保留原始数值精度的格式,如`"{0:r}"`,但传递非数字时会引发`FormatException`。 - `x`:十六进制格式,如`"{0:x}"`,但传递非数字时会引发`FormatException`。 此外,还可以使用自定义的格式字符串,如`"{0:fff}"`,这允许对数字格式化进行更精细的控制。自定义格式字符串由一个或多个标准格式说明符组成,可以包括小数点、逗号和百分比符号等。 `C# String.Format`是创建格式化字符串的有力工具,它结合了多种格式说明符和对齐选项,能够满足程序员在输出格式化数据时的各种需求。通过熟练掌握这些格式说明符,开发者可以更加灵活地控制程序的输出格式,提高代码的可读性和用户体验。