C# 数据格式化字符串完全指南

阿橙
阿橙
发布时间:2026-10-14| 4人浏览过
原创

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开发的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。