最近由于项目需要公司领导让我学习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或rround-trip(仅用于浮点数,保证浮点数转化为字符串后能再被转化为相同的数)
X或x十六进制整数
以下格式符是用于设置日期时间的输出格式,输出的参数是属于DataTime类型。
标准Format格式
格式符 说明 示例
d shortdate短日期 /4/28
D longdate长日期 4月28日
t shorttime短时间 14:17
T longtime长时间 14:17:20
f 长日期和短时间 4月28日14:17
F 长日期和长时间 4月28日14:17:20
g 短日期和短时间 /4/2814:17
G 短日期和长时间(默认格式)/4/2814:17:20
M 月和日4月28日
R RFC1123 Thu,28 Apr 14:17:20 GMT
s sortable -04-28T14:17:20
u universal sortable-04-28 14:17:20Z
U 格林威治时间 4月28日 6:17:20
Y 年和月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);///4/29Console.WriteLine("D {0:D}", dt);//4月29日Console.WriteLine("t {0:t}", dt);//9:45Console.WriteLine("T {0:T}", dt);//9:45:53Console.WriteLine("f {0:f}", dt);//4月29日 9:45Console.WriteLine("F {0:F}", dt);//4月29日 9:45:53Console.WriteLine("g {0:g}", dt);///4/29 9:45Console.WriteLine("G {0:G}", dt);///4/29 9:45:53Console.WriteLine("M {0:M}", dt);//4月29日Console.WriteLine("R {0:R}", dt);//Fri, 29 Apr 09:45:53 GMTConsole.WriteLine("s {0:s}", dt);//-04-29T09:45:53Console.WriteLine("u {0:u}", dt);//-04-29 09:45:53ZConsole.WriteLine("U {0:U}", dt);//4月29日 1:45:53Console.WriteLine("Y {0:Y}", dt);//4月Console.WriteLine("d {0: d}", dt);// 29Console.WriteLine("dd {0:dd}", dt);//29Console.WriteLine("ddd {0:ddd}", dt);//周五Console.WriteLine("dddd {0:dddd}", dt);//星期五Console.WriteLine("M {0: M}", dt);//4Console.WriteLine("MM {0:MM}", dt);//04Console.WriteLine("MMM {0:MMM}", dt);//四月Console.WriteLine("MMMM {0:MMMM}", dt);//四月Console.WriteLine("y {0: y}", time);// 1Console.WriteLine("yy {0:yy}", time);//01Console.WriteLine("yyyy {0:yyyy}", time);//2001Console.WriteLine("gg {0:gg}", dt);//公元Console.WriteLine("h {0: h}", dt);// 9Console.WriteLine("hh {0:hh}", dt);//09Console.WriteLine("H {0: H}", dt);// 9Console.WriteLine("HH {0:HH}", dt);//09Console.WriteLine("s {0: s}", dt);// 53Console.WriteLine("ss {0:ss}", dt);//53Console.WriteLine("f {0:s.f}", dt);//4.9Console.WriteLine("ff {0:s.ff}", dt);//4.93Console.WriteLine("fff {0:s.fff}", dt);//4.931Console.WriteLine("fffffff {0:s.fffffff}", dt);//13.8595367Console.WriteLine("t {0: t}", dt);//上Console.WriteLine("tt {0:tt}", dt);//上午Console.WriteLine("z {0: z}", dt);// +8Console.WriteLine("zz {0:zz}", dt);//+08Console.WriteLine("zzz {0:zzz}", dt);//+08:00Console.WriteLine("{0}", dt);///4/29 9:45:53 默认格式{0:G}Console.ReadLine();