除了给占位符使用字符串格式之外,还可以根据数据类型使用特定的格式。下面先从日期开始。在占位符中,格式字符串跟在表达式的后面,用冒号隔开。下面所示的例子是用于 DateTime 类型的 D 和 d 格式:
var day = new DateTime(2025, 2, 14);
WriteLine($"{day:D}");
WriteLine($"{day:d}");
结果显示,用大写字母 D 表示长日期格式字符串,用小写字母 d 表示短日期字符串:
Friday, February 14,2025
2/14/2025
根据所使用的大写或小写字符串,DateTime 类型会得到不同的结果。根据系统的语言设置,输出可能不同。日期和时间是特定于语言的。
DateTime 类型支持很多不同的标准格式字符串,显示日期和时间的所有表示:例如,t 表示短时间格式,T 表示长时间格式,g 和 G 显示日期和时间。
注意
应该提到的一个问题是,为 DateTime 构建自定义的格式字符串。自定义的日期和时间格式字符串可以结合格式说明符,例如 dd-MMM-yyyy:
Console.WriteLine($"{day:dd-MMM-yyyy}");
结果如下:
14-Feb-2025
这个自定义格式字符串利用 dd 把日期显示为两个数字(如果某个日期在 10 日之前,这就很重要,从这里可以看到 d 和 dd 之间的区别)、MMM(月份的缩写名称,注意它是大写,而 mm 表示分钟)和表示四位数年份的 yyyy 同样,在 MSDN 文档中可以找到用于自定义日期和时间格式字符串的所有其他格式说明符。
数字的格式字符串不区分大小写。下面看看 n、e、x 和 c 标准数字格式字符串:
int i=2477;
Console.WriteLine($"{i:n} {i:e} {i:x} {i:c}");
n 格式字符串定义了一个数字格式,用组分隔符显示整数和小数。e 表示使用指数表示法,x 表示转换为十六进制,c 显示货币:
2,477.00 2.477000e+003 9ad $2,477.00
对于数字的表示,还可以使用定制的格式字符串。#格式说明符是一个数字占位符,如果数字可用,就显示数字:如果数字不可用,就不显示数字。0 格式说明符是一个零占位符,显示相应的数字,如果数字不存在就显示零。
double d = 3.1415;
Console.WriteLine($"{d:###.###}");
Console.WriteLine($"{d:000.000}");
在示例代码中,对于 double 值,第一个结果把逗号后的值舍入为三位小数,第二个结果是显示逗号前的三个数字:
3.142
003.142
MSDN 文档给百分比、往返和定点显示提供了所有的标准数字格式字符串,以及提供自定义格式字符串,用于使指数、小数点、组分隔符等显示不同的外观。
技术群: 需要进技术群学习交流的请添加小编微信,切记备注:加群,对以上内容有什么疑问也可以直接和小编直接沟通交流!
小编微信:mm1552923
公众号:dotNet编程大全
往期推荐
Love life,love yourself
关注小编不迷路呦~