以下内容均摘自博客园,仅供资料查询。
ToString格式化在很多对象显示为字符串的时候都会使用到ToString中的格式化,由于以前没怎么注意到这个问题,想总结一下各个基础结构对象的格式化,以便后备之用!!!
Int.ToString(format):
格式字符串采用以下形式:Axx,其中 A 为格式说明符,指定格式化类型,xx 为精度说明符,控制格式化输出的有效位数或小数位数,具体如下:
格式说明符 说明示例输出C货币2.5.ToString("C")¥2.50D十进制数25.ToString("D5")00025E科学型25000.ToString("E")2.500000E+005F固定点25.ToString("F2")25.00G常规2.5.ToString("G")2.5N数字2500000.ToString("N")2,500,000.00X十六进制255.ToString("X")FF
DateTime.ToString(format):
以下格式只能单独使用,表示特定的格式:
d ShortDatePatternD LongDatePatternf 完整日期和时间(长日期和短时间)F FullDateTimePattern(长日期和长时间)g 常规(短日期和短时间)G 常规(短日期和长时间)m、M MonthDayPatternr、R RFC1123Patterns 使用当地时间的 SortableDateTimePattern(基于 ISO 8601)t ShortTimePatternT LongTimePatternu UniversalSortableDateTimePattern 用于显示通用时间的格式U 使用通用时间的完整日期和时间(长日期和长时间)y、Y YearMonthPattern以下格式可以组合使用,格式化出不同的日期显示格式:
d 月中的某一天。一位数的日期没有前导零。dd 月中的某一天。一位数的日期有一个前导零。ddd 周中某天的缩写名称,在 AbbreviatedDayNames 中定义。dddd 周中某天的完整名称,在 DayNames 中定义。M 月份数字。一位数的月份没有前导零。MM 月份数字。一位数的月份有一个前导零。MMM 月份的缩写名称,在 AbbreviatedMonthNames 中定义。MMMM 月份的完整名称,在 MonthNames 中定义。y 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示不具有前导零的年份。yy 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示具有前导零的年份。yyyy 包括纪元的四位数的年份。gg 时期或纪元。如果要设置格式的日期不具有关联的时期或纪元字符串,则忽略该模式。h 12 小时制的小时。一位数的小时数没有前导零。hh 12 小时制的小时。一位数的小时数有前导零。H 24 小时制的小时。一位数的小时数没有前导零。HH 24 小时制的小时。一位数的小时数有前导零。m 分钟。一位数的分钟数没有前导零。mm 分钟。一位数的分钟数有一个前导零。s 秒。一位数的秒数没有前导零。ss 秒。一位数的秒数有一个前导零。f 秒的小数精度为一位。其余数字被截断。ff 秒的小数精度为两位。其余数字被截断。fff 秒的小数精度为三位。其余数字被截断。ffff 秒的小数精度为四位。其余数字被截断。fffff 秒的小数精度为五位。其余数字被截断。ffffff 秒的小数精度为六位。其余数字被截断。fffffff 秒的小数精度为七位。其余数字被截断。t 在 AMDesignator 或 PMDesignator 中定义的 AM/PM 指示项的第一个字符(如果存在)。tt 在 AMDesignator 或 PMDesignator 中定义的 AM/PM 指示项(如果存在)。z 时区偏移量(“+”或“-”后面仅跟小时)。一位数的小时数没有前导零。例如,太平洋标准时间是“-8”。zz 时区偏移量(“+”或“-”后面仅跟小时)。一位数的小时数有前导零。例如,太平洋标准时间是“-08”。zzz 完整时区偏移量(“+”或“-”后面跟有小时和分钟)。一位数的小时数和分钟数有前导零。例如,太平洋标准时间是“-08:00”。: 在 TimeSeparator 中定义的默认时间分隔符。/ 在 DateSeparator 中定义的默认日期分隔符。% c 其中 c 是格式模式(如果单独使用)。如果格式模式与原义字符或其他格式模式合并,则可以省略“%”字符。" c 其中 c 是任意字符。照原义显示字符。若要显示反斜杠字符,请使用“""”。在String.Format中使用格式化:
在String.Format方法中也可以格式化这些结构对象,这些格式化的格式包含在“{}”之间,用“:”隔开。“:”前面为String.Format的索引值,和一般格式化一样,而“:”后面则是这些结构的格式化类型。如果使用占位符,则和索引之间使用“,”分割,正数表示右对齐,负数表示左对齐,而绝对值表示所占的字符宽度数,例如:
string .Format( " the value is {0,7:f3} " , 123.45 );
//结果 the value is 123.450
其中:7表示占位符(右对齐),占7位,如果使用-7则表示左对齐,占七位。