c#字符串的格式化输出
2016-04-28 13:27
591 查看
最近由于项目需要公司领导让我学习C#,进行上位机开发,我个人也对这个语言挺感兴趣的,原先使用其他人的上位机时就觉得各个界面的功能模块挺有意思,竟然用AD采样数据就能描出波形,给我的感觉就是amazing。现在将我整理的格式符发出来分享下,
格式输出的一般形式为
{inex [,alignment] [:formatstring]},[ ]中内容为可选项。
其中index表示参数索引,从0开始编号,即输出表达式中第一个输出参数用0,第二个用1,以此类推。
alignment表示对齐方式,用逗号“,“作为标记。正数则右对齐,负数则左对齐。若超过参数长度,则用空格补齐。如果未指定,则默认0。
formatstring格式符,用冒号“:”作为标记。
网上搜集到的格式符资料如下
格式符 说明
C或c 货币
D或d 十进制整数
E或e 科学计数法
F或f 小数点后固定位数
G 默认输出
N或n 用,分隔数字
P或p 百分比
R或r round-trip(仅用于浮点数,保证浮点数转化为字符串后能再被转化为相同的数)
X或x 十六进制整数
以下格式符是用于设置日期时间的输出格式,输出的参数是属于DataTime类型。
标准Format格式
格式符 说明 示例
d shortdate短日期 2016/4/28
D longdate长日期 2016年4月28日
t shorttime短时间 14:17
T longtime长时间 14:17:20
f 长日期和短时间 2016年4月28日 14:17
F 长日期和长时间 2016年4月28日 14:17:20
g 短日期和短时间 2016/4/28 14:17
G 短日期和长时间(默认格式) 2016/4/28 14:17:20
M 月和日 4月28日
R RFC1123 Thu,28 Apr 2016 14:17:20 GMT
s sortable 2016-04-28T14:17:20
u universal sortable 2016-04-28 14:17:20Z
U 格林威治时间 2016年4月28日 6:17:20
Y 年和月 2016年4月
自定义格式
格式符 说明 示例
d 一位数或两位数的天数 8 18
dd 两位数天数,不足两位左侧补0 08 18
ddd 周几 周二 周三
dddd 星期几 星期二 星期三
M 一位数或两位数月份 1 12
MM 两位数月份,不足两位左侧补0 01 12
MMM 中文月份缩写
MMMM 中文月份全称 一月 十二月(实际测试上述2个格式符输出格式相同)
y 一位数或两位数的年份
yy 两位数的年份
yyyy 四位数年份
gg 时期或纪元
h 12小时制的小时。没有前导零
hh 12小时制的小时。有前导零
H 24小时制的小时。没有前导零
HH 24小时制的小时。有前导零
m 一位或两位数的分钟
mm 两位数的分钟,不足两位左侧补0
s 一位或两位数的秒
ss 两位数的秒,不足两位左侧补0
f 秒的一位小数 3(54.369s)
ff 秒的两位小数 36(54.369s)
fff 秒的三位小数 369(54.369s)
...
fffffff 秒的七位小数
t AM/PM的首字母
tt AM/PM
z 时区偏移量,没有前导零
zz 时区偏移量,有前导零
zzz 完整时区偏移量,有前导零
日期格式输出时,若格式符仅为一个字符,默认为标准格式符,如{0:d}则按照标准日期格式符输出,{0: d}则按照自定义格式符输出。
格式输出的一般形式为
{inex [,alignment] [:formatstring]},[ ]中内容为可选项。
其中index表示参数索引,从0开始编号,即输出表达式中第一个输出参数用0,第二个用1,以此类推。
alignment表示对齐方式,用逗号“,“作为标记。正数则右对齐,负数则左对齐。若超过参数长度,则用空格补齐。如果未指定,则默认0。
formatstring格式符,用冒号“:”作为标记。
网上搜集到的格式符资料如下
格式符 说明
C或c 货币
D或d 十进制整数
E或e 科学计数法
F或f 小数点后固定位数
G 默认输出
N或n 用,分隔数字
P或p 百分比
R或r round-trip(仅用于浮点数,保证浮点数转化为字符串后能再被转化为相同的数)
X或x 十六进制整数
以下格式符是用于设置日期时间的输出格式,输出的参数是属于DataTime类型。
标准Format格式
格式符 说明 示例
d shortdate短日期 2016/4/28
D longdate长日期 2016年4月28日
t shorttime短时间 14:17
T longtime长时间 14:17:20
f 长日期和短时间 2016年4月28日 14:17
F 长日期和长时间 2016年4月28日 14:17:20
g 短日期和短时间 2016/4/28 14:17
G 短日期和长时间(默认格式) 2016/4/28 14:17:20
M 月和日 4月28日
R RFC1123 Thu,28 Apr 2016 14:17:20 GMT
s sortable 2016-04-28T14:17:20
u universal sortable 2016-04-28 14:17:20Z
U 格林威治时间 2016年4月28日 6:17:20
Y 年和月 2016年4月
自定义格式
格式符 说明 示例
d 一位数或两位数的天数 8 18
dd 两位数天数,不足两位左侧补0 08 18
ddd 周几 周二 周三
dddd 星期几 星期二 星期三
M 一位数或两位数月份 1 12
MM 两位数月份,不足两位左侧补0 01 12
MMM 中文月份缩写
MMMM 中文月份全称 一月 十二月(实际测试上述2个格式符输出格式相同)
y 一位数或两位数的年份
yy 两位数的年份
yyyy 四位数年份
gg 时期或纪元
h 12小时制的小时。没有前导零
hh 12小时制的小时。有前导零
H 24小时制的小时。没有前导零
HH 24小时制的小时。有前导零
m 一位或两位数的分钟
mm 两位数的分钟,不足两位左侧补0
s 一位或两位数的秒
ss 两位数的秒,不足两位左侧补0
f 秒的一位小数 3(54.369s)
ff 秒的两位小数 36(54.369s)
fff 秒的三位小数 369(54.369s)
...
fffffff 秒的七位小数
t AM/PM的首字母
tt AM/PM
z 时区偏移量,没有前导零
zz 时区偏移量,有前导零
zzz 完整时区偏移量,有前导零
日期格式输出时,若格式符仅为一个字符,默认为标准格式符,如{0:d}则按照标准日期格式符输出,{0: d}则按照自定义格式符输出。
int k = 123456; double j = 123.45678956; DateTime time = new DateTime(2001, 12, 7, 11, 13, 20); DateTime dt = DateTime.Now; Console.WriteLine("C {0:C}", k);//按照金额形式输出,默认2位小数,格式符后数字设置小数位数 Console.WriteLine("C {0:C0}", k); Console.WriteLine("C {0:C1}", k); Console.WriteLine("C {0:C2}", k); Console.WriteLine("C {0:C3}", k); Console.WriteLine("D {0:D}", k);//十进制整数输出,后缀设置整数位数,整数位数不足则左边补0,数据位数大于设定位数则按原数据输出 Console.WriteLine("D {0:D1}", k); Console.WriteLine("D {0:D2}", k); Console.WriteLine("D {0:D3}", k); Console.WriteLine("D {0:D7}", k); Console.WriteLine("E {0:e}", k);//科学计数法,默认7位有效数字,后缀设置小数点后有效数字位数 Console.WriteLine("E {0:e0}", k); Console.WriteLine("E {0:e1}", k); Console.WriteLine("E {0:E2}", k); Console.WriteLine("E {0:E3}", k); Console.WriteLine("E {0:E4}", k); Console.WriteLine("E {0:E5}", k); Console.WriteLine("E {0:E6}", k); Console.WriteLine("E {0:E7}", k); Console.WriteLine("E {0:E8}", k); Console.WriteLine("F {0:F}", j);//小数点后位数设置 Console.WriteLine("F {0:F0}", j); Console.WriteLine("F {0:F1}", j); Console.WriteLine("F {0:F2}", j); Console.WriteLine("F {0:F3}", j); Console.WriteLine("G {0:G}", k);//默认输出格式 Console.WriteLine("N {0:N}", k);//用‘,’分割数据,默认2位小数 Console.WriteLine("N {0:N0}", k); Console.WriteLine("N {0:N1}", k); Console.WriteLine("N {0:N2}", k); Console.WriteLine("P {0:P}", k);//百分比输出,默认2位小数,后缀设置小数点后位数 Console.WriteLine("P {0:P0}", k); Console.WriteLine("P {0:P1}", k); Console.WriteLine("P {0:P2}", k); Console.WriteLine("R {0:R}", j);//只用于浮点数,保证一个数字被转化成字符串以后可以再被转回成同样的数字 Console.WriteLine("X {0:X}", k);//十六进制输出 Console.WriteLine("d {0:d}",dt);//2016/4/29 Console.WriteLine("D {0:D}", dt);//2016年4月29日 Console.WriteLine("t {0:t}", dt);//9:45 Console.WriteLine("T {0:T}", dt);//9:45:53 Console.WriteLine("f {0:f}", dt);//2016年4月29日 9:45 Console.WriteLine("F {0:F}", dt);//2016年4月29日 9:45:53 Console.WriteLine("g {0:g}", dt);//2016/4/29 9:45 Console.WriteLine("G {0:G}", dt);//2016/4/29 9:45:53 Console.WriteLine("M {0:M}", dt);//4月29日 Console.WriteLine("R {0:R}", dt);//Fri, 29 Apr 2016 09:45:53 GMT Console.WriteLine("s {0:s}", dt);//2016-04-29T09:45:53 Console.WriteLine("u {0:u}", dt);//2016-04-29 09:45:53Z Console.WriteLine("U {0:U}", dt);//2016年4月29日 1:45:53 Console.WriteLine("Y {0:Y}", dt);//2016年4月 Console.WriteLine("d {0: d}", dt);// 29 Console.WriteLine("dd {0:dd}", dt);//29 Console.WriteLine("ddd {0:ddd}", dt);//周五 Console.WriteLine("dddd {0:dddd}", dt);//星期五 Console.WriteLine("M {0: M}", dt);//4 Console.WriteLine("MM {0:MM}", dt);//04 Console.WriteLine("MMM {0:MMM}", dt);//四月 Console.WriteLine("MMMM {0:MMMM}", dt);//四月 Console.WriteLine("y {0: y}", time);// 1 Console.WriteLine("yy {0:yy}", time);//01 Console.WriteLine("yyyy {0:yyyy}", time);//2001 Console.WriteLine("gg {0:gg}", dt);//公元 Console.WriteLine("h {0: h}", dt);// 9 Console.WriteLine("hh {0:hh}", dt);//09 Console.WriteLine("H {0: H}", dt);// 9 Console.WriteLine("HH {0:HH}", dt);//09 Console.WriteLine("s {0: s}", dt);// 53 Console.WriteLine("ss {0:ss}", dt);//53 Console.WriteLine("f {0:s.f}", dt);//4.9 Console.WriteLine("ff {0:s.ff}", dt);//4.93 Console.WriteLine("fff {0:s.fff}", dt);//4.931 Console.WriteLine("fffffff {0:s.fffffff}", dt);//13.8595367 Console.WriteLine("t {0: t}", dt);//上 Console.WriteLine("tt {0:tt}", dt);//上午 Console.WriteLine("z {0: z}", dt);// +8 Console.WriteLine("zz {0:zz}", dt);//+08 Console.WriteLine("zzz {0:zzz}", dt);//+08:00 Console.WriteLine("{0}", dt);//2016/4/29 9:45:53 默认格式{0:G} Console.ReadLine();
相关文章推荐
- c#调用COM组件
- C#实现把指定数据写入串口
- C#动态创建button的方法
- C#中抽象方法与虚拟方法的区别
- c#中虚函数的相关使用方法
- C#实现给图片加水印的方法
- C#使用加边法计算行列式的值
- C#实现多线程的同步方法实例分析
- C#中尾递归的使用、优化及编译器优化
- C#中的delegate委托类型基本学习教程
- C#实现子窗体与父窗体通信方法实例总结
- C#通用邮件发送类分享
- 举例讲解C#中自动实现的属性
- C#中this的用法集锦
- C#数据结构之顺序表(SeqList)实例详解
- C#.NET获取拨号连接的宽带连接方法
- C#异步绑定数据实现方法
- C#实现AddRange为数组添加多个元素的方法
- C#中Equality和Identity浅析
- C#比较二个数组并找出相同或不同元素的方法