FEATURED · 精选文章

C#格式化字符串

发布时间 / 2026/8/27 1:21:45
来源 / 创域科博编辑部
栏目 / 资讯中心
C#格式化字符串 一、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 为 totalWidthChar 为填补字符默认为空格可指定如#。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}1234512345{0:D6}01234598765.4321{0:E}9.87654321E00498765.4321{0:E11}9.87654321000E00498765.4321{0:F}98765.4398765.4321{0:F0}9876598765.4321{0:G}98765.4321987654321{0:G6}9.87654E898765.4321{0:N}98,765.43987654321{0:N3}987,654,321.00098765.4321Total:{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 或 rRFC1123 模式—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将枚举项显示为十六进制值。按需要将值表示为带有前导零以确保值的长度最少有八位。
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻