.NET格式化字符串详细说明
DataFormatString属性:{0:Bxx}B为取值类型
- C 以货币格式显示数值。
- D 以十进制格式显示数值。
- E 以科学记数法(指数)格式显示数值。
- F 以固定格式显示数值。
- G 以常规格式显示数值。
- N 以数字格式显示数值。
- X 以十六进制格式显示数值。
例:
floatmoney=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}"
Total:¥98,765.43
日期格式:
格式说明符
名称
说明
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 显示以三位数字表示的秒。
- 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 将枚举项显示为十六进制值。按需要将值表示为带有前导零,以确保值的长度最少有八位。
.NET格式化字符串详细说明的更多相关文章
- [转]:C#的ToString如何格式化字符串
C 货币 2.5.ToString("C") ¥2.50 D 十进制数 25.ToString("D5") 00025 E 科学型 25000.ToString ...
- .NET C# Tostring() format 格式化字符串大全
C 货币 2.5.ToString("C") ¥2.50 D 十进制数 25.ToString("D5") 00025 E 科学型 25000.ToString ...
- C# 格式化字符串,日期,字符串操作汇总
时间格式化 有时候我们要对时间进行转换,达到不同的显示效果 默认格式为:2005-6-6 14:33:34 如果要换成成200506,06-2005,2005-6-6或更多的该怎么办呢 我们要用到:D ...
- java.text.MessageFormat格式化字符串时的小技巧
java.text.MessageFormat格式化字符串时的小技巧 public static void main(String[] args) throws InterruptedExceptio ...
- C#格式化字符串大全
C#格式化字符串大全 分类: VS/C# 1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) string.Format("{0:C}" ...
- Linux pwn入门教程(6)——格式化字符串漏洞
作者:Tangerine@SAINTSEC 0x00 printf函数中的漏洞 printf函数族是一个在C编程中比较常用的函数族.通常来说,我们会使用printf([格式化字符串],参数)的形式来进 ...
- Linux pwn入门教程——格式化字符串漏洞
本文作者:Tangerine@SAINTSEC 原文来自:https://bbs.ichunqiu.com/thread-42943-1-1.html 0×00 printf函数中的漏洞printf函 ...
- format格式化字符串
假如想要表达这样一条语句:李明今年十二岁 输出这样一条语句 name = 'LiMing' age = 12 print( name + 'is' + age + 'years old') #输出 L ...
- Python从菜鸟到高手:格式化字符串
1. 字符串格式化基础 字符串格式化相当于字符串模板.也就是说,如果一个字符串有一部分是固定的,而另一部分是动态变化的,那么就可以将固定的部分做成模板,然后那些动态变化的部分使用字符串格式化操作符(% ...
随机推荐
- 基于WMI获取本机真实网卡物理地址和IP地址
using System; using System.Collections.Generic; using System.Management; using System.Runtime.Intero ...
- Spark分析之Master、Worker以及Application三者之间如何建立连接
Master.preStart(){ webUi.bind() context.system.scheduler.schedule( millis, WORKER_TIMEOUT millis, se ...
- IPv4选项
IPv4数据报的首部由固定首部(20字节)和可变部分组成(40字节).选项可用于网络的测试和排错. 1:选项的组成(TLV:type-length-value) 1.1:一个字节的类型字段. 1.1. ...
- Django静态图片参数解析
使用Django静态设置时,遇到很多问题,经过艰苦的Baidu, stack overflow, Django原档阅读,终于把静态图片给搞出来了.特记录下来. 关键的概念:Django中,静态资源的存 ...
- 0_Simple__vectorAdd + 0_Simple__vectorAdd_nvrtc + 0_Simple__vectorAddDrv
▶ 使用 CUDA Runtime API,运行时编译,Driver API 三种接口计算向量加法 ▶ 源代码,CUDA Runtime API #include <stdio.h> #i ...
- myeclipse中解决 java heap space/gc overhead limit exceeded eclipse 的方法
在Eclipse打包的时候报错:gc overhead limit exceeded eclipse 原因是Eclipse默认配置内存太小须要更改安装Eclipse目录下的eclipse.ini文件. ...
- div 标签
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- UI5-文档-4.6-Modules
在SAPUI5中,资源通常被称为模块.在这一步中,我们将上次练习中的警报替换为sap.m库中的适当消息Toast.所需的模块可以异步加载. Preview A message toast displa ...
- C# 获取文件名、目录、后缀、无后缀文件名、扩展名、根目录等
[csharp] view plain copy class Program { static void Main(string[] args) { //获取当前运行程序的目录 string file ...
- Centos 安装golang beego
刚开始用go和beego,真的还好多不懂~希望对看到的朋友有帮助~ 本人环境:centos 6.3x86_64 1.我在机器上创建了一个用户zww(useradd zww),登录zww(su zww) ...