2026/8/27 1:21:28
网站建设
项目流程
一、DataFormatString 属性 DataFormatString 属性的格式为{0:Bxx},其中 B 为取值类型,xx 为格式字符后的值,用于指定显示的值的有效位数或小数位数。
1. 格式字符说明 格式字符 说明 C 以货币格式显示数值,如{0:C2}显示为 ¥123,456.78。 D 以十进制格式显示数值,如{0:D5}显示为 00123。 E 以科学记数法(指数)格式显示数值。 F 以固定格式显示数值。 G 以常规格式显示数值。 N 以数字格式显示数值。 X 以十六进制格式显示数值。
注意:除 X 以指定的大小写形式显示十六进制字符之外,其他格式字符不区分大小写。
2. 字符串固定长度显示 使用str.PadLeft(Int32)或str.PadLeft(Int32, Char)(以及 PadRight)实现固定长度显示。其中 Int32 为 totalWidth,Char 为填补字符,默认为空格,可指定如#。
3. 示例 float money = 153325.32m; Label1.Text = string.Format("{0:C2}", money);结果如下:¥153,325.32。
二、格式字符示例 输入值 格式字符串 结果 98765.4321 {0:C} ¥98,765.43 -8765.4321 {0:C} (¥98,765.43) 12345 {0:D} 12345 12345 {0:D6} 012345 98765.4321 {0:E} 9.87654321E+004 98765.4321 {0:E11} 9.87654321000E+004 98765.4321 {0:F} 98765.43 98765.4321 {0:F0} 98765 98765.4321 {0:G} 98765.4321 987654321 {0:G6} 9.87654E8 98765.4321 {0:N} 98,765.43 987654321 {0:N3} 987,654,321.000 98765.4321 Total:{0:C} ¥98,765.43
三、字符格式与日期格式 1. 字符格式 {0:c}表示货币格式。
2. 日期格式 格式字符串 结果 {0:d} 2004-11-1 {0:D} 2004年11月1日
四、标准日期/时间格式说明符 格式说明符 名称 说明 d 短日期模式 — D 长日期模式 — t 短时间模式 — T 长时间模式 — f 完整日期/时间模式(短时间) 显示长日期和短时间模式的组合,由空格分隔。 F 完整日期/时间模式(长时间) — g 常规日期/时间模式(短时间) 显示短日期和短时间模式的组合,由空格分隔。 G 常规日期/时间模式(长时间) 显示短日期和长时间模式的组合,由空格分隔。 M 或 m 月日模式 — R 或 r RFC1123 模式 — s 可排序的日期/时间模式 — u 通用的可排序日期/时间模式 — U 通用的可排序日期/时间模式 — Y 或 y 年月模式 — 任何其他单个字符 未知说明符 —
五、自定义日期格式说明符 1. 日期与星期 格式说明符 说明 d 显示月份的当前日期,以 1 到 31 之间的一个数字表示。如果日期只有一位数字 (1-9),则显示为一位数字。注意:如果 d 单独使用,则被解释为标准短日期模式;如果与其他自定义格式说明符或 % 字符一起传递,则被解释为自定义格式说明符。 dd 显示月份的当前日期,以 1 到 31 之间的一个数字表示。如果日期只有一位数字 (1-9),则格式化为带有前导 0 (01-09)。 ddd 显示指定的 DateTime 的日期部分缩写名称。如果未提供特定的有效格式提供程序,则使用 DateTimeFormat 的 AbbreviatedDayNames 属性及其与当前线程关联的当前区域性。 dddd(外加任意数量的附加 d 字符) 显示指定的 DateTime 的日期全名。如果未提供特定的有效格式提供程序,则使用 DateTimeFormat 的 DayNames 属性及其与当前线程关联的当前区域性。
2. 秒 格式说明符 说明 f 显示以一位数字表示的秒。注意:如果 f 单独使用,则被解释为完整的(长日期 + 短时间)格式说明符;如果与其他自定义格式说明符或 % 字符一起传递,则被解释为自定义格式说明符。 ff 显示以二位数字表示的秒。 fff 显示以三位数字表示的秒。 ffff 显示以四位数字表示的秒。 fffff 显示以五位数字表示的秒。 ffffff 显示以六位数字表示的秒。 fffffff 显示以七位数字表示的秒。
3. 年代 g 或 gg(外加任意数量的附加 g 字符) :显示指定的 DateTime 的年代部分(例如 A.D.)。如果未提供特定的有效格式提供程序,则年代由与 DateTimeFormat 关联的日历及其与当前线程关联的当前区域性确定。注意:如果 g 单独使用,则被解释为标准常规格式说明符;如果与其他自定义格式说明符或 % 字符一起传递,则被解释为自定义格式说明符。
4. 小时 格式说明符 说明 h 以 1 到 12 范围中的一个数字显示小时数,表示自午夜(显示为 12)或中午(也显示为 12)后经过的整小时数。如果单独使用,无法区别某一小时是中午以前还是中午以后。如果小时是单个数字 (1-9),则显示为单个数字。例如,DateTime 为 5:43 时返回 5。 hh, hh(外加任意数量的附加 h 字符) 以 1 到 12 范围中的一个数字显示小时数。如果小时是单个数字 (1-9),则格式化为前面带有 0 (01-09)。 H 以 0 到 23 范围中的一个数字显示小时数,表示自午夜(显示为 0)后经过的整小时数。如果小时是单个数字 (0-9),则显示为单个数字。 HH, HH(外加任意数量的附加 H 字符) 以 0 到 23 范围中的一个数字显示小时数。如果小时是单个数字 (0-9),则格式化为前面带有 0 (01-09)。
5. 分钟 格式说明符 说明 m 以 0 到 59 范围中的一个数字显示分钟数。如果分钟是一位数字 (0-9),则显示为一位数字。注意:如果 m 单独使用,则被解释为标准的月日模式格式说明符;如果与其他自定义格式说明符或 % 字符一起传递,则被解释为自定义格式说明符。 mm, mm(外加任意数量的附加 m 字符) 以 0 到 59 范围中的一个数字显示分钟数。如果分钟是一位数字 (0-9),则格式化为带有前导 0 (01-09)。
6. 月份 格式说明符 说明 M 显示月份,以 1 到 12 之间(包括 1 和 12)的一个数字表示。如果月份是一位数字 (1-9),则显示为一位数字。注意:如果 M 单独使用,则被解释为标准的月天模式格式说明符;如果与其他自定义格式说明符或 % 字符一起传递,则被解释为自定义格式说明符。 MM 显示月份,以 1 到 12 之间(包括 1 和 12)的一个数字表示。如果月份是一位数字 (1-9),则格式化为带有前导 0 (01-09)。 MMM 显示指定的 DateTime 的月部分缩写名称。如果未提供特定的有效格式提供程序,则使用 DateTimeFormat 的 AbbreviatedMonthNames 属性及其与当前线程关联的当前区域性。 MMMM 显示指定的 DateTime 的月的全名。如果未提供特定的有效格式提供程序,则使用 DateTimeFormat 的 MonthNames 属性及其与当前线程关联的当前区域性。
7. 秒与上午/下午 格式说明符 说明 s 以 0 到 59 范围中的一个数字显示秒数。如果秒是一位数字 (0-9),则显示为一位数字。注意:如果 s 单独使用,则被解释为标准的可排序日期/时间模式格式说明符;如果与其他自定义格式说明符或 % 字符一起传递,则被解释为自定义格式说明符。 ss, ss(外加任意数量的附加 s 字符) 以 0 到 59 范围中的一个数字显示秒数。如果秒是一位数字 (0-9),则格式化为带有前导 0 (01-09)。 t 显示指定的 DateTime 的 A.M./P.M. 指示项的第一个字符。如果未提供特定的有效格式提供程序,则使用 DateTimeFormat 的 AMDesignator(或 PMDesignator)属性及其与当前线程关联的当前区域性。如果经过的总整小时数小于 12,则使用 AMDesignator;否则使用 PMDesignator。注意:如果 t 单独使用,则被解释为标准的长时间模式格式说明符;如果与其他自定义格式说明符或 % 字符一起传递,则被解释为自定义格式说明符。 tt, tt(外加任意数量的附加 t 字符) 显示指定的 DateTime 的 A.M./P.M. 指示项。如果未提供特定的有效格式提供程序,则使用 DateTimeFormat 的 AMDesignator(或 PMDesignator)属性及其与当前线程关联的当前区域性。如果经过的总整小时数小于 12,则使用 AMDesignator;否则使用 PMDesignator。
8. 年份 格式说明符 说明 y 最多用两位数字显示年份,忽略年的前两位数字。如果年份是一位数字 (1-9),则显示为一位数字。注意:如果 y 单独使用,则被解释为标准短日期模式格式说明符;如果与其他自定义格式说明符或 % 字符一起传递,则被解释为自定义格式说明符。 yy 最多用两位数字显示年份,忽略年的前两位数字。如果年份是一位数字 (1-9),则格式化为带有前导 0 (01-09)。 yyyy 显示年份部分(包括纪元)。如果年份长度小于四位,则按需要在前面追加零以使显示的年份长度达到四位。
9. 时区偏移 格式说明符 说明 z 仅以整小时数为单位显示系统当前时区的时区偏移量。偏移量总显示为带有前导符号(零显示为 +0),指示早于格林威治时间 (+) 或迟于格林威治时间 (-) 的小时数。值的范围是 -12 到 +13。如果偏移量为一位数 (0-9),则显示为带合适前导符号的一位数。显示的偏差受夏时制的影响。 zz 仅以整小时数为单位显示系统当前时区的时区偏移量。偏移量总显示为带有前导或尾随符号(零显示为 +00)。值的范围为 -12 到 +13。如果偏移量为一位数 (0-9),则格式化为前面带有 0 (01-09) 并带有适当的前导符号。显示的偏差受夏时制的影响。 zzz, zzz(外加任意数量的附加 z 字符) 以小时和分钟为单位显示系统当前时区的时区偏移量。偏移量总是显示为带有前导或尾随符号(零显示为 +00:00)。值的范围为 -12:00 到 +13:00。如果偏移量为一位数 (0-9),则格式化为前面带有前导 0 (01-09) 并带有适当的前导符号。显示的偏差受夏时制的影响。
10. 其他说明符 格式说明符 说明 : 时间分隔符。 / 日期分隔符。 " 带引号的字符串。显示转义符 (/) 之后两个引号之间的任何字符串的文本值。 ' 带引号的字符串。显示两个 ' 字符之间的任何字符串的文本值。 %c 其中 c 既是标准格式说明符又是自定义格式说明符,显示与格式说明符关联的自定义格式模式。注意:如果格式说明符作为单个字符来单独使用,它将被解释成标准格式说明符。只有包含两个或更多字符的格式说明符被解释为自定义格式说明符。要显示此种说明符的自定义格式,请在说明符之前加 % 符号。 /c 其中 c 是任意字符,转义符将下一个字符显示为文本。在此上下文中,转义符不能用于创建转义序列(如 /n 表示换行)。 任何其他字符 其他字符作为文本直接写入输出字符串。
六、枚举格式字符串 可以使用 ToString 方法创建新的字符串对象,以表示 Enum 的数字、十六进制或字符串值。此方法采用某个枚举格式化字符串指定希望返回的值。下表列出了枚举格式化字符串及其返回的值,这些格式说明符不区分大小写。
格式字符串 结果 G 或 g 如有可能,将枚举项显示为字符串值,否则显示当前实例的整数值。如果枚举定义中设置了 Flags 属性,则串联每个有效项的字符串值并将各值用逗号分开。如果未设置 Flags 属性,则将无效值显示为数字项。 F 或 f 如有可能,将枚举项显示为字符串值。如果值可以完全显示为枚举项的总和(即使未提供 Flags 属性),则串联每个有效项的字符串值并将各值用逗号分开。如果值不能完全由枚举项确定,则将值格式化为整数值。 D 或 d 以尽可能短的表示形式将枚举项显示为整数值。 X 或 x 将枚举项显示为十六进制值。按需要将值表示为带有前导零,以确保值的长度最少有八位。