c#入门-格式说明符

格式说明符

部分的类可以在ToString的时候添加一个参数。
或者在格式字符串添加一个格式说明符。

int i = 12;
Console.WriteLine(i.ToString("x2"));
Console.WriteLine($"{i:x2}");

这是部分类型才有的功能。

主要讲数字的部分说明符,更多内容点这里

数字的格式说明符

D

十进制补位说明符,使用D+数字,可以把整数补零,
直到数字达到指定位数。
已经超出位数的无效。

int i=12;
Console.WriteLine(i.ToString("d4"));//0012
i = 12345;
Console.WriteLine(i.ToString("d3"));//12345

E

科学计数法,e的大小写决定了输出字符串e的大小写。
e后面的数字决定了小数点后有几位数

int i=12;
Console.WriteLine(i.ToString("e3"));//1.200e+xx
i = 12345;
Console.WriteLine(i.ToString("e0"));//1e+xx

F

定点数。可以控制小数的位数(会四舍五入)

double d = 1.0 / 7;
Console.WriteLine(d.ToString("f3"));//0.143
Console.WriteLine(d.ToString("f8"));//0.14285714
Console.WriteLine(d.ToString());//0.14285714285714285

X

16进制数。x的大小写决定了16进制下字母部分的大小写
后面跟随的数字是补0至至少多少位数

int d = 666;
Console.WriteLine(d.ToString("x3"));//29a
Console.WriteLine(d.ToString("x8"));//0000029a

自定义格式说明符

如果你想给你的类也加上这个功能,需要实现IFormattable接口

{
	public int price;
	public string name;
	public string ToString(string s)
	{
		return ToString(s, default);
	}

	public string ToString(string format, IFormatProvider formatProvider)
	{

		if (format == "price")
			return price.ToString();
		if (format == "name")
			return name?.ToString();
		return ToString();
	}
}
Book b = new Book() { price = 12, name = "绿里奇迹" };
Console.WriteLine($"{b:name}");
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值