C# ToString() 方法总结:格式化数字输出

3 下载量 146 浏览量 更新于2024-08-30 收藏 45KB PDF 举报
"C#中的ToString()方法主要用于将各种数据类型转换为字符串,便于输出和显示。此方法在处理数值类型时特别有用,可以根据指定的格式进行转换,如货币、十进制、科学计数法、固定点、常规、数字、十六进制等。通过不同的格式字符串,可以自定义数字的显示样式,包括小数点后位数、千位分隔符、货币符号等。" 在C#中,ToString()方法提供了多种格式化选项,下面将详细介绍这些选项及其用法: 1. **C(货币)**: - 格式化为货币类型,会根据当前区域设置显示相应的货币符号。例如,`2.5.ToString("C")` 在中国环境下显示为 "¥2.50"。 2. **D(十进制数)**: - 对于整数类型,可以指定最小宽度,并自动在前面填充零。如 `25.ToString("D5")` 结果为 "00025"。 3. **E(科学型)**: - 将数字转换为科学记数法,如 `25000.ToString("E")` 输出 "2.500000E+005"。 4. **F(固定点)**: - 指定小数点后的固定位数,例如 `25.ToString("F2")` 输出 "25.00"。 5. **G(常规)**: - 默认的数字格式,如 `2.5.ToString("G")` 输出 "2.5"。 6. **N(数字)**: - 数字格式,会根据当前区域设置添加千位分隔符,如 `2500000.ToString("N")` 在美国环境下显示为 "2,500,000.00",在欧洲大陆环境下可能显示为 "2 500 000,00"。 7. **X(十六进制)**: - 将整数转换为十六进制,如 `255.ToString("X")` 输出 "FF"。 除了这些预定义的格式外,C#还支持自定义数字格式,通过使用特定的格式字符串来实现: - **0**:零占位符,如果数字位数不足,用零填充。 - **#**:数字占位符,如果数字位数不足,则不显示任何字符。 - **.**:小数点,用于分隔整数部分和小数部分。 - **,**:千位分隔符,用于分隔每三位数字。 - **%**:百分比符号,将数字乘以100并加上百分号。 - **e**:指数符号,用于科学计数法。 - **;**:用于定义正数、负数和零的不同格式。 - 更复杂的格式可以通过组合这些符号来创建,例如 `{0:0,0.00}` 会显示带有千位分隔符和两位小数的数字。 使用ToString()方法时,可以结合自定义格式字符串,实现更加灵活的数字显示。例如,`1500.42.ToString("000.00")` 将输出 "1500.42",而 `1500.42.ToString("(0#.##)")` 将输出 "(1500.4)",括号和小数点后的零都可选。 C#中的ToString()方法是将各种数据类型转换为字符串的关键工具,它提供了丰富的格式化选项,使开发者能够按照需求定制数字和其他类型的数据表示形式,从而在输出、日志记录或用户界面显示等方面提供更好的用户体验。