C# 数据格式化字符串完全指南
C#开发中经常需要对数据进行统一展示或格式化输出。本文将汇总GridView控件中的DataFormatString使用技巧、基本数据类型ToString方法的常用格式符以及string.Format的高级用法,提供从数值精度控制到日期显示的完整参数参考。
ASP.NET GridView 中的显示格式
在 ASP.NET Web Forms 开发中,若需在 GridView 控件中限制小数位数(如保留两位),通常绑定 DataFormatString 属性。需要注意的是,由于安全考虑,必须同时设置 HtmlEncode = false,否则格式化可能不会生效。
基础语法如下:
<asp:BoundField DataField="Price" DataFormatString="{0:F}" HtmlEncode="false" />{0}:表示当前字段的数据本身。F:固定点格式,默认显示两位小数。- 如需自定义位数,例如保留三位小数,可设置为
{0:F3}。
数值类型的格式化
C# 提供了丰富的内置格式符用于数字、货币和科学计数的转换。所有格式字符串必须包含在 {} 内,且需转义大括号时可使用 {{ 或 }}。
1. 通用数值与货币
- C (Currency):货币格式,自动添加货币符号并按区域格式化。输入 12345.6789 显示为
$12,345.68。 - N (Number):数字格式,按千分位分隔并默认保留两位小数。输入 2500000 显示为
2,500,000.00。 - F (Fixed-point):固定小数点位。输入 25.ToString("F2") 显示为
25.00。 - G (General):常规格式,保留原值有效位数。输入 2.5.ToString("G") 显示为
2.5。
2. 整数补零与十六进制
- D (Decimal):十进制。后跟数字表示最小宽度不足补零。输入 25.ToString("D5") 显示为
00025。 - X (Hexadecimal):十六进制。输入 255.ToString("X") 显示为
FF。
3. 科学计数法
- E (Exponential):科学型。输入 25000.ToString("E") 显示为
2.500000E+005。
日期时间的自定义格式
在使用 DateTime.ToString("格式符") 时,可以使用以下常见字符组合来构建所需的日期样式:
| 格式符 | 说明 | 示例输出 (假设 2023年5月10日) |
|---|---|---|
| d | 短日期 (MM/dd/yyyy) | 05/10/2023 |
| D | 长日期 | Wednesday, May 10, 2023 |
| t | 短时间 (HH:mm) | 14:30 |
| T | 长时间 (HH:mm:ss) | 14:30:00 |
| f | 完整日期+短时间 | Wednesday, May 10, 2023 14:30 |
| F | 完整日期+长时间 | Wednesday, May 10, 2023 14:30:00 |
| yyyy-MM-dd HH:mm:ss | 通用精确时间 | 2023-05-10 14:30:00 |
| yy.M.d | 简化年月日 | 23.5.10 |
转换示例:Convert.ToDateTime("2023/5/10").ToString("yyyy/MM/dd") 将返回 2023/05/10。
高级格式化技巧 (string.Format)
当需要在一个字符串中混合多个变量并指定其显示样式时,推荐使用 string.Format 或 C# 6.0+ 的插值字符串 $"{...}"。它允许通过 {索引,宽度:格式} 的语法控制对齐方式。
1. 占位与对齐:
int i = 123;double j = 123.45; // {0,-7} 表示左对齐,占7位;{1,7} 表示右对齐,占7位string s = string.Format("i:{0,-7},j:{1,7}", i, j);输出结果:i:123 ,j: 123.45
2. 组合格式:
this.textBox1.Text = i.ToString("d8"); // 强制输出 00012345this.textBox2.Text = string.Format("The value is {0:C}", 2.5); // 强制输出 The value is ¥2.50 (取决于区域设置)3. 百分比转换:
小数转换为百分比只需追加 p 格式符,例如 double i=0.126; i.ToString("p") 结果为 12.6%。
总结与注意事项
掌握标准的 ToString 格式符和 DataFormatString 规则是处理 UI 数据展示的关键。在实际操作中,如果格式化不生效,请优先检查是否遗漏了关键的开关设置(如 Gridview 中的 HtmlEncode)。对于复杂的报表排版,建议使用 string.Format 配合负号进行左对齐,正数进行右对齐,以保持界面整洁。
以上就是C#数据格式化的详细内容,更多关于C#编程基础与WEB开发的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









