c#格式化字符串 toString()
1、使用 ToString 方法的默认格式设置
public class Automobile
{
public string Name { get; set; } = "小王";
}
Automobile firstAuto = new Automobile();
Console.WriteLine(firstAuto.ToString());
2、重写ToString
public class Automobile2
{
public string Name { get; set; } = "小王";
public override string ToString()
{
return Name;
}
}
Automobile2 firstAuto2 = new Automobile2();
Console.WriteLine(firstAuto2.ToString());
3、枚举格式字符串
DayOfWeek thisDay = DayOfWeek.Monday;
string[] formatStrings = { "G", "F", "D", "X" };
foreach (string formatString in formatStrings)
Console.WriteLine(thisDay.ToString(formatString));
//
// public enum DayOfWeek
//{
// //
// // 摘要:
// // 表示星期日。
// Sunday = 0,
// //
// // 摘要:
// // 表示星期一。
// Monday = 1,
// //
// // 摘要:
// // 表示星期二。
// Tuesday = 2,
// //
// // 摘要:
// // 表示星期三。
// Wednesday = 3,
// //
// // 摘要:
// // 表示星期四。
// Thursday = 4,
// //
// // 摘要:
// // 表示星期五。
// Friday = 5,
// //
// // 摘要:
// // 表示星期六。
// Saturday = 6
//}
//g 枚举成员的字符串表示
//f 枚举成员的字符串表示
//d 十进制表示
//x 十六进制表示
4、标准数字格式字符串
float number1 = 123.456f;
Console.WriteLine(number1.ToString("c"));//默认保留两位的货币表示
Console.WriteLine(number1.ToString("c5"));
Console.WriteLine(number1.ToString("c1"));//保留小数点后几位的货币表示
int number2 = 123;
Console.WriteLine(number2.ToString("d"));
Console.WriteLine(number2.ToString("d5"));
Console.WriteLine(number2.ToString("d1"));// 十进制(“D”)格式说明符,总共保留多少位的十进制数,如果位数不足,则在前面补0,只能用于整数
float number3 = 123.456f;
Console.WriteLine(number3.ToString("e"));//指数计数法,默认小数点后六位
Console.WriteLine(number3.ToString("e1"));//指数计数法,默认小数点后1位
Console.WriteLine(number3.ToString("e2"));//指数计数法,默认小数点后2位
float number4 = 123.4566f;
Console.WriteLine(number4.ToString("f"));//保留小数后2位,并且进行了四舍五入
Console.WriteLine(number4.ToString("f1"));//保留小数后1位
Console.WriteLine(number4.ToString("f3"));//保留小数后3位
float number5 = 123.4566f;
Console.WriteLine(number5.ToString("g"));//保留所有数据
Console.WriteLine(number5.ToString("g1"));//保留1位有效位,不足以表示的,使用指数表示
Console.WriteLine(number5.ToString("g3"));//保留3位有效位
float number6 = 12557.4566f;
Console.WriteLine(number6.ToString("n"));//保留小数点后两位,和f相比的话,差别在于整数部分超过3位时,用逗号分隔显示
Console.WriteLine(number6.ToString("n1"));//保留1位有效位,不足以表示的,使用指数表示
Console.WriteLine(number6.ToString("n4"));//保留3位有效位
float number7 = 0.4566f;
Console.WriteLine(number7.ToString("p"));//保留小数点后两位,并进行百分比显示
Console.WriteLine(number7.ToString("p1"));//保留小数点后1位,并进行百分比显示
Console.WriteLine(number7.ToString("p4"));//保留小数点后4位,并进行百分比显示
int number8 = 255;
Console.WriteLine(number8.ToString("x"));//以两位16进制表示
Console.WriteLine(number8.ToString("x4"));//以4位16进制表示,不足的部分,在前面补0
Console.WriteLine(number8.ToString("x6"));//以6位16进制表示,不足的部分,在前面补0
5、 自定义数字格式字符串
double value = 12345.3456;
Console.WriteLine(value.ToString("000.00"));//没有零的地方补上零,并且控制了小数点后的位数
Console.WriteLine(String.Format("{0:000.00}", value));
Console.WriteLine(value.ToString("###.#####"));//没有#的地方,则不显示
Console.WriteLine(String.Format("{0:###.#####}", value));
6、标准日期和时间格式字符串
DateTime dateTime = DateTime.Now;
Console.WriteLine(dateTime.ToString("d"));//年月日
Console.WriteLine(dateTime.ToString("D"));//年月日
Console.WriteLine(dateTime.ToString("f"));//年月日,时分
Console.WriteLine(dateTime.ToString("F"));//年月日,时分秒
Console.WriteLine(dateTime.ToString("g"));//年月日,时分
Console.WriteLine(dateTime.ToString("G"));//年月日,时分秒
Console.WriteLine(dateTime.ToString("m"));//月日
Console.WriteLine(dateTime.ToString("M"));//月日
Console.WriteLine(dateTime.ToString("o"));//
Console.WriteLine(dateTime.ToString("O"));//
Console.WriteLine(dateTime.ToString("r"));//
Console.WriteLine(dateTime.ToString("R"));//
Console.WriteLine(dateTime.ToString("s"));//
Console.WriteLine(dateTime.ToString("t"));//只显示时间,时分
Console.WriteLine(dateTime.ToString("T"));//只显示时间,时分秒
Console.WriteLine(dateTime.ToString("u"));//
Console.WriteLine(dateTime.ToString("U"));//
Console.WriteLine(dateTime.ToString("y"));//年月
Console.WriteLine(dateTime.ToString("Y"));//年月
7、 自定义日期和时间格式字符串
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15,789);
Console.WriteLine(date1.ToString("d,M",//一个月中的某一天表示为从 1 到 31 的数字
CultureInfo.InvariantCulture));
Console.WriteLine(date1.ToString("dd,M",//一个月中的某一天表示为从 1 到 31 的数字,不满两位数补零
CultureInfo.InvariantCulture));
Console.WriteLine(date1.ToString("ddd,M",//一个星期中的某一天,简写
CultureInfo.InvariantCulture));
Console.WriteLine(date1.ToString("dddd,M",//一个星期中的某一天,全称
CultureInfo.InvariantCulture));
Console.WriteLine(date1.ToString("hh:mm:ss.f"));//f代表毫秒的最高位,一个f代表
Console.WriteLine(date1.ToString("hh:mm:ss.ff"));
Console.WriteLine(date1.ToString("hh:mm:ss.fff"));//f代表毫秒的最高位,3个f代表所有毫秒
Console.WriteLine(DateTime .Now .ToString ("yyyy-MM-dd:hh-mm-ss-fff"));//h代表12小时计时
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd:hh-mm-ss-fff"));//H代表24小时计时
Console.WriteLine(DateTime.Now.ToString("yyyy/MM/dd:hh-mm-ss-fff"));//H代表24小时计时
本文来自博客园,作者:Jacob·雅各布,转载请注明原文链接:https://www.cnblogs.com/JacobX/p/17610939.html