`
pcajax
  • 浏览: 2157059 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

C#格式化字符串

阅读更多

DataFormatString属性:{0:Bxx} B为取值类型
格式字符 说明
C 以货币格式显示数值。 ({0:C2}¥123,456.78)
D 以十进制格式显示数值。 ({0:D5}¥00123)
E 以科学记数法(指数)格式显示数值。
F 以固定格式显示数值。
G 以常规格式显示数值。
N 以数字格式显示数值。
X 以十六进制格式显示数值。
字符串固定长度显示:str.PadLeft(Int32) str.PadLeft(Int32, Char) OR PadRight   int32:totalWidth   Char:填补字符默认为空格,可指定如'#'
例:
float money=153325.32m;
Label1.Text=string.Format("{0:C2}",money);
结果如下:¥153,325.32,
注意 除 X 以指定的大小写形式显示十六进制字符之外,其他格式字符不区分大小写。
格式字符后的值(常规示例中为 xx)指定显示的值的有效位数或小数位数。


例:
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


字符格式:
{0:c}货币格式
日期:
{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 年月模式
任何其他单个字符 未知说明符
'///////////////////////////////////////////
自定义日期格式
格式说明符 说明
d 显示月份的当前日期,以 1 到 31 之间的一个数字表示,包括 1 和 31。如果日期只有一位数字 (1-9),则它显示为一位数字
请注意,如果“d”格式说明符单独使用,没有其他自定义格式字符串,则它被解释为标准短日期模式格式说明符。如果“d”格式说明符与其他自定义格式说明符或者“%”字符一起传递,则它被解释为自定义格式说明符。

dd 显示月份的当前日期,以 1 到 31 之间的一个数字表示,包括 1 和 31。如果日期只有一位数字 (1-9),则将其格式化为带有前导 0 (01-09)。
ddd 显示指定的 DateTime 的日期部分缩写名称。如果未提供特定的有效格式提供程序(实现具有预期属性的 IFormatProvider 的非空对象),则使用 DateTimeFormat 的 AbbreviatedDayNames 属性及其与当前所使用线程关联的当前区域性。否则,使用来自指定格式提供程序的 AbbreviatedDayNames 属性。
dddd(外加任意数量的附加“d”字符) 显示指定的 DateTime 的日期全名。如果未提供特定的有效格式提供程序(一个非空对象,可实现具有预期属性的 IFormatProvider),则使用 DateTimeFormat 的 DayNames 属性及其与当前所使用线程关联的当前区域性。否则,使用来自指定格式提供程序的 DayNames 属性。
f 显示以一位数字表示的秒。
请注意,如果“f”格式说明符单独使用,没有其他自定义格式字符串,则它被解释为完整的(长日期 + 短时间)格式说明符。如果“f”格式说明符与其他自定义格式说明符或“%”字符一起传递,则它被解释为自定义格式说明符。

ff 显示以二位数字表示的秒。
fff 显示以三位数字表示的秒。
ffff 显示以四位数字表示的秒。
fffff 显示以五位数字表示的秒。
ffffff 显示以六位数字表示的秒。
fffffff 显示以七位数字表示的秒。
g 或 gg(外加任意数量的附加“g”字符) 显示指定的 DateTime 的年代部分(例如 A.D.)。如果未提供特定的有效格式提供程序(一个非空对象,可实现具有预期属性的 IFormatProvider),则年代由与 DateTimeFormat 关联的日历及其与当前线程关联的当前区域性确定。
请注意,如果“g”格式说明符单独使用,没有其他自定义格式字符串,则它被解释为标准常规格式说明符。如果“g”格式说明符与其他自定义格式说明符或“%”字符一起传递,则它被解释为自定义格式说明符。

h 以 1 到 12 范围中的一个数字显示指定的 DateTime 的小时数,该小时数表示自午夜(显示为 12)或中午(也显示为 12)后经过的整小时数。如果单独使用这种格式,则无法区别某一小时是中午以前还是中午以后的时间。如果该小时是单个数字 (1-9),则它显示为单个数字。显示小时时不发生任何舍入。例如,DateTime 为 5:43 时返回 5。
hh, hh(外加任意数量的附加“h”字符) 以 1 到 12 范围中的一个数字显示指定的 DateTime 的小时数,该小时数表示自午夜(显示为 12)或中午(也显示为 12)后经过的整小时数。如果单独使用这种格式,则无法区别某一小时是中午以前还是中午以后的时间。如果该小时是单个数字 (1-9),则将其格式化为前面带有 0 (01-09)。
H 以 0 到 23 范围中的一个数字显示指定的 DateTime 的小时数,该小时数表示自午夜(显示为 0)后经过的整小时数。如果该小时是单个数字 (0-9),则它显示为单个数字
HH, HH(外加任意数量的附加“H”字符) 以 0 到 23 范围中的一个数字显示指定的 DateTime 的小时数,该小时数表示自午夜(显示为 0)后经过的整小时数。如果该小时是单个数字 (0-9),则将其格式化为前面带有 0 (01-09)。
m 以 0 到 59 范围中的一个数字显示指定的 DateTime 的分钟数,该分钟数表示自上一小时后经过的整分钟数。如果分钟是一位数字 (0-9),则它显示为一位数字
请注意,如果“m”格式说明符单独使用,没有其他自定义格式字符串,则它被解释为标准的月日模式格式说明符。如果“m”格式说明符与其他自定义格式说明符或“%”字符一起传递,则它被解释为自定义格式说明符。

mm, mm(外加任意数量的附加“m”字符) 以 0 到 59 范围中的一个数字显示指定的 DateTime 的分钟数,该分钟数表示自上一小时后经过的整分钟数。如果分钟是一位数字 (0-9),则将其格式化为带有前导 0 (01-09)。
M 显示月份,以 1 到 12 之间(包括 1 和 12)的一个数字表示。如果月份是一位数字 (1-9),则它显示为一位数字
请注意,如果“M”格式说明符单独使用,没有其他自定义格式字符串,则它被解释为标准的月天模式格式说明符。如果“M”格式说明符与其他自定义格式说明符或“%”字符一起传递,则它被解释为自定义格式说明符。

MM 显示月份,以 1 到 12 之间(包括 1 和 12)的一个数字表示。如果月份是一位数字 (1-9),则将其格式化为带有前导 0 (01-09)。
MMM 显示指定的 DateTime 的月部分缩写名称。如果未提供特定的有效格式提供程序(一个非空对象,可实现具有预期属性的 IFormatProvider),则使用 DateTimeFormat 的 AbbreviatedMonthNames 属性及其与当前线程关联的当前区域性。否则,使用来自指定格式提供程序的 AbbreviatedMonthNames 属性。
MMMM 显示指定的 DateTime 的月的全名。如果未提供特定的有效格式提供程序(一个非空对象,可实现具有预期属性的 IFormatProvider),则使用 DateTimeFormat 的 MonthNames 属性及其与当前线程关联的当前区域性。否则,使用来自指定格式提供程序的 MonthNames 属性。
s 以 0 到 59 范围中的一个数字显示指定的 DateTime 的秒数,该秒数表示自上一分钟后经过的整秒数。如果秒是一位数字 (0-9),则它仅显示为一位数字
请注意,如果“s”格式说明符单独使用,没有其他自定义格式字符串,则它被解释为标准的可排序日期/时间模式格式说明符。如果“s”格式说明符与其他自定义格式说明符或“%”字符一起传递,则它被解释为自定义格式说明符。

ss, ss(外加任意数量的附加“s”字符) 以 0 到 59 范围中的一个数字显示指定的 DateTime 的秒数,该秒数表示自上一分钟后经过的整秒数。如果秒是一位数字 (0-9),则将其格式化为带有前导 0 (01-09)。
t 显示指定的 DateTime 的 A.M./P.M. 指示项的第一个字符。如果未提供特定的有效格式提供程序(一个非空对象,可实现具有预期属性的 IFormatProvider),则使用 DateTimeFormat 的 AMDesignator(或 PMDesignator)属性及其与当前线程关联的当前区域性。否则,使用来自指定 IFormatProvider 的 AMDesignator(或 PMDesignator)属性。如果对于指定的 DateTime 所经过的总整小时数小于 12,则使用 AMDesignator。否则,使用 PMDesignator。
请注意,如果“t”格式说明符单独使用,没有其他自定义格式字符串,则它被解释为标准的长时间模式格式说明符。如果“t”格式说明符与其他自定义格式说明符或“%”字符一起传递,则它被解释为自定义格式说明符。

tt, tt(外加任意数量的附加“t”字符) 显示指定的 DateTime 的 A.M./P.M. 指示项。如果未提供特定的有效格式提供程序(一个非空对象,可实现具有预期属性的 IFormatProvider),则使用 DateTimeFormat 的 AMDesignator(或 PMDesignator)属性及其与当前线程关联的当前区域性。否则,使用来自指定 IFormatProvider 的 AMDesignator (或 PMDesignator)属性。如果对于指定的 DateTime 所经过的总整小时数小于 12,则使用 AMDesignator。否则,使用 PMDesignator。
y 最多用两位数字显示指定的 DateTime 的年份。忽略年的前两位数字。如果年份是一位数字 (1-9),则它显示为一位数字
请注意,如果“y”格式说明符单独使用,没有其他自定义格式字符串,则它被解释为标准短日期模式格式说明符。如果“y”格式说明符与其他自定义格式说明符或“%”字符一起传递,则它被解释为自定义格式说明符。

yy 最多用两位数字显示指定的 DateTime 的年份。忽略年的前两位数字。如果年份是一位数字 (1-9),则将其格式化为带有前导 0 (01-09)。
yyyy 显示指定的 DateTime 的年份部分(包括纪元)。如果年份长度小于四位,则按需要在前面追加零以使显示的年份长度达到四位。
z 仅以整小时数为单位显示系统当前时区的时区偏移量。偏移量总显示为带有前导符号(零显示为“+0”),指示早于格林威治时间 (+) 或迟于格林威治时间 (-) 的小时数。值的范围是 -12 到 +13。如果偏移量为一位数 (0-9),则将其显示为带合适前导符号的一位数。时区设置以 +X 或 - X 的形式指定,其中 X 是相对于 GMT 的小时偏差。显示的偏差受夏时制的影响。
zz 仅以整小时数为单位显示系统当前时区的时区偏移量。偏移量总显示为带有前导或尾随符号(零显示为“+00”),指示早于格林威治时间 (+) 或迟于格林威治时间 (-) 的小时数。值范围为 - 12 到 +13。如果偏移量为一位数 (0-9),则将其格式化为前面带有 0 (01-09) 并带有适当的前导符号。时区设置以 +X 或 -X 的形式指定,其中 X 是相对于 GMT 的小时偏差。显示的偏差受夏时制的影响。
zzz, zzz(外加任意数量的附加“z”字符) 以小时和分钟为单位显示系统当前时区的时区偏移量。偏移量总是显示为带有前导或尾随符号(零显示为“+00:00”),指示早于格林威治时间 (+) 或迟于格林威治时间 (-) 的小时数。值范围为 -12:00 到 +13:00。如果偏移量为一位数 (0-9),则将其格式化为前面带有前导 0 (01-09) 并带有适当的前导符号。时区设置以 +X 或 -X 的形式指定,其中 X 是相对于 GMT 的小时偏差。显示的偏差受夏时制的影响。
: 时间分隔符。
/ 日期分隔符。
" 带引号的字符串。显示转义符 (/) 之后两个引号之间的任何字符串的文本值。
' 带引号的字符串。显示两个“'”字符之间的任何字符串的文本值。
%c 其中 c 既是标准格式说明符又是自定义格式说明符,显示与格式说明符关联的自定义格式模式。
请注意,如果格式说明符作为单个字符来单独使用,它将被解释成标准格式说明符。只有包含两个或更多字符的格式说明符被解释为自定义格式说明符。说明符可以被同时定义为标准和自定义格式说明符,要显示此种说明符的自定义格式,请在说明符之前加“%”符号。

\c 其中 c 是任意字符,转义符将下一个字符显示为文本。在此上下文中,转义符不能用于创建转义序列(如“\n”表示换行)。
任何其他字符 其他字符作为文本直接写入输出字符串。

'///////////////////////////////////////////
枚举格式字符串
可以使用 ToString 方法创建新的字符串对象,以表示 Enum 的数字、十六进制或字符串值。此方法采用某个枚举格式化字符串指定希望返回的值。

下表列出了枚举格式化字符串及其返回的值。这些格式说明符不区分大小写。

格式字符串 结果
G 或 g 如有可能,将枚举项显示为字符串值,否则显示当前实例的整数值。如果枚举定义中设置了 Flags 属性,则串联每个有效项的字符串值并将各值用逗号分开。如果未设置 Flags 属性,则将无效值显示为数字项。
F 或 f 如有可能,将枚举项显示为字符串值。如果值可以完全显示为枚举项的总和(即使未提供 Flags 属性),则串联每个有效项的字符串值并将各值用逗号分开。如果值不能完全由枚举项确定,则将值格式化为整数值。
D 或 d 以尽可能短的表示形式将枚举项显示为整数值。
X 或 x 将枚举项显示为十六进制值。按需要将值表示为带有前导零,以确保值的长度最少有八位。

分享到:
评论

相关推荐

    C#格式化字符串C#格式化字符串

    这里的 `{0:D3}` 是一个格式化字符串,其中: - `{0}` 表示第一个参数(即 `123`)。 - `D3` 指定了整数的最小位数为3,不足时前面会自动填充0。 #### 三、格式化字符串详解 1. **基本格式化** - **`{N[,M][:...

    C#格式化字符串详细介绍

    ### C#格式化字符串详解 #### 一、引言 在C#编程中,字符串的格式化是一项常用且重要的功能。对于那些熟悉Microsoft Foundation Classes (MFC) 的 `CString` 类、Windows Template Library (WTL) 的 `CString` 类...

    C#格式化字符串讲解

    在C#编程语言中,字符串格式化是一项基本且重要的技能,尤其对于日志记录、输出显示和数据交换等场景。本文将深入探讨标题和描述中提及的C#字符串格式化技术,包括`String.Format`方法、`ToString`方法以及各种字符...

    使用C#格式化字符串

    在C#编程中,格式化字符串是一项非常重要的技能,它允许程序员将各种数据类型转换为易于阅读和理解的文本格式。本篇文章将详细介绍如何使用C#进行字符串格式化,特别是针对浮点数和日期类型的处理。 首先,`String....

    c#格式化字符串.pdf

    `String.Format`方法是C#中常用的一种格式化字符串的方式,它允许你插入变量并控制它们的显示方式。在MFC、WTL和STL中也有类似的字符串格式化方法,但C#的`String.Format`具有更简洁和灵活的语法。 `String.Format`...

    c#格式化字符串.docx

    `Console.WriteLine`方法虽然通常用于简单的输出,但同样支持格式化字符串,通过传递一个字符串和参数数组来实现。与`String.Format`不同的是,它直接将格式化后的字符串输出到控制台,而不是返回一个新字符串。 ...

    C# 格式化字符串的实现代码

    在C#编程中,格式化字符串是一项常用的功能,它允许开发者按照特定的模板和规则将变量或表达式的值插入到字符串中。本文将深入探讨C#中如何实现字符串格式化,以及`String.Format`方法和`Console.WriteLine`方法在...

    javascript模拟C#格式化字符串

    这是我们模拟C#格式化字符串的基础工具。 2. JavaScript中的正则表达式:正则表达式在JavaScript中是一个强大的文本处理工具,它可以匹配字符串中的模式。在格式化字符串时,我们使用正则表达式来匹配格式占位符,...

    C# 方式生成xml格式字符串

    生成xml格式字符串、序列化XML 对象=》XML文本、反序列化 XML文本=》对象 等方法,对象和xml之间的相互转换、datatable方式转换为xml文本的工具类方法 C#语言

    格式化字符串

    在编程领域,格式化字符串是一项基础且重要的技能,特别是在C#这种面向对象的语言中。它允许程序员以一种灵活的方式创建动态的、具有多种数据类型的输出。格式化字符串可以帮助我们更清晰地显示数据,同时也可以方便...

    C#中字符串的格式化及转换成数值的方法

    ### C#中字符串的格式化及转换成数值的方法 在C#编程中,字符串的处理是非常常见且重要的任务之一。本文将详细介绍如何在C#中进行字符串的格式化以及如何将字符串转换为数值类型,包括整数、浮点数等。 #### 一、...

    C#资源\字符串格式常用资源

    本文将深入探讨C#中的字符串格式化,包括基本的字符串格式化方法、字符串模板、以及.NET框架提供的各种格式化类。 1. **基本字符串格式化** 在C#中,我们可以使用`string.Format`方法进行基本的字符串格式化。例如...

    C#超级字符串格式化源码示例

    C#提供了多种方式来格式化字符串,如`string.Format()`、 interpolation语法(`${}`)以及`StringBuilder`类等。这些内置方法已经能够满足大部分的日常需求。例如,`string.Format()`允许我们使用占位符`{}`来插入...

    格式化字符串的一些基本讲解

    本文主要讲解了`string`和`StringBuilder`类的基本使用,以及这两个类中的一些方法和属性,它们对于格式化和操作字符串非常关键。 首先,`string`类在C#中是不可变的,这意味着一旦创建了一个`string`对象,就不能...

    c#去掉字符串中所以的空格

    这个话题对于初学者和经验丰富的开发者都很重要,因为处理文本数据时,我们经常需要清理或格式化字符串,确保它们符合特定的需求。本文将详细介绍如何在C#中去除字符串中的所有空格,并提供一个参考程序供学习。 在...

    C# 字符串格式化

    C# 字符串格式化是指在 C# 语言中对字符串进行格式化处理,包括格式化货币、十进制数字、百分比、占位符和日期等。 一、格式化货币 在 C# 中,使用 string.Format 方法对货币进行格式化,例如,string.Format("{...

    测试正则表达式和格式化字符串源代码+GUID生成工具(C#)

    在IT行业中,正则表达式(Regular Expression)和格式化字符串是编程中常见的技术,而C#语言提供了强大的支持。正则表达式用于处理文本模式匹配、搜索和替换,而格式化字符串则允许我们根据特定格式输出数据。GUID...

Global site tag (gtag.js) - Google Analytics