转载:c# string.Format

时间:2022-06-19 15:59:53

C#:STRING.FORMAT数字格式化输出

1.各种常用数字格式化
货币转换 C 或 c(默认小数点后2位。C3后面跟的数字就代表小数后几位)
    string.Format("{0:C}",a)<==>a.ToString("C")//$2.50
    string.Format("{0:C3}",a)<==>a.ToString("C3")//$2.500
转换为十进制数 D 或 d a=25
    string.Format("{0:d}",a)<==>b.ToString("d")    //转换为十进制
    string.Format("{0:D5}",a)<==>a.ToString("D5")//00025
科学型计数 E 或 e a=250000
    string.Format("{0:E}",a)<==>a.ToString("E") //2.500000E+005
固定点 F 或 f a=25
    string.Format("{0:F}",a)<==>a.ToString("F")//25
    string.Format("{0:F2}",a)<==>a.ToString("F2")//25.00
常规数字 G 或 g a=2.5
    string.Format("{0:G}",a)<==>a.ToString("G")//2.5
数字转换 N 或 n a=2500000
    string.Format("{0:N}",a)<==>a.ToString("N")//2,500,000.00
转换为十六进制 X 或 x a=250
    string.Format("{0:X}",a)<==>a.ToString("X")//2,500,000.00//FA
R 或 r
    string.Format("{0:r}",a);<==>b.ToString("r");//转来转去不损失精度--整数不允许用,报错 1234.12543
2.自定义模式输出:
0 描述:占位符,如有可能,填充位
# 描述:占位符,如果可能,填充位(跟0的填充是有区别的)
. 描述:小数点
, 描述:数字分组,也用于增倍器
    string.Format("{0:000000}",a);// 001234
    string.Format("{0:000000.00}",b);// 004321.13
    string.Format("{0:0#0####}", a);// 0001234(#被逼填充位)
    string.Format("{0:#####}", a);// 1234(#尽可能的不填充)
b = 87654321.12543;
a = 12345678;
, 描述:数字分组,也用于增倍器
string.Format("{0:0,00}", a);// 12,345,678
string.Format("{0:0,00}", b);// 87,654,321
string.Format("{0:0,}", a);// 12346
string.Format("{0:0,}", b);// 87654
string.Format("{0:0,,}", a);// 12
string.Format("{0:0,,}", b);// 88
string.Format("{0:0,,,}", a);// 0
string.Format("{0:0,,,}", b);// 0
% 描述:格式为百分数
string.Format("{0:P}", a);//40.00%
string.Format("{0:0%}",a);// 1234567800%
string.Format("{0:#%}",b);// 8765432113%
string.Format("{0:0.00%}",a);// 1234567800.00%
string.Format("{0:#.00%}",b);// 8765432112.54%
'abc' 描述:显示单引号内的文本
string.Format("{0:'文本'0}",a);// 文本12345678
string.Format("{0:文本0}",b);// 文本87654321
\ 描述:后跟1要打印字的字符,也用于转移符\n等
string.Format("\"你好!\"");// "你好!"
string.Format("\\c\\books\\new\\we.asp");//\c\books\new\we.asp
@描述:后跟要打印字的字符,
string.Format(@"""你好!"""); // "你好!"要打印"则需要输入两对才可以
string.Format(@"\c\books\new\we.asp");//\c\books\new\we.asp 
3.日期转换
日期 {0:D} 2006年11月25日   
日期 {0:d} 2006-11-25   
日期 {0:f} 2006年11月25日 10:30   
日期 {0:F} 2006年11月25日 10:30:00   
日期 {0:s} 2006-11-26 10:30:00   
时间 {0:T} 10:30:00 
DateTime dt = DateTime.Now;
  dt.ToString();//2005-11-5 13:21:25
  dt.ToFileTime().ToString();//127756416859912816
  dt.ToFileTimeUtc().ToString();//127756704859912816
  dt.ToLocalTime().ToString();//2005-11-5 21:21:25
  dt.ToLongDateString().ToString();//2005年11月5日
  dt.ToLongTimeString().ToString();//13:21:25
  dt.ToOADate().ToString();//38661.5565508218
  dt.ToShortDateString().ToString();//2005-11-5
  dt.ToShortTimeString().ToString();//13:21
  dt.ToUniversalTime().ToString();//2005-11-5 5:21:25  
  dt.Year.ToString();//2005
  dt.Date.ToString();//2005-11-5 0:00:00
  dt.DayOfWeek.ToString();//Saturday
  dt.DayOfYear.ToString();//309
  dt.Hour.ToString();//13
  dt.Millisecond.ToString();//441
  dt.Minute.ToString();//30
  dt.Month.ToString();//11
  dt.Second.ToString();//28
  dt.Ticks.ToString();//632667942284412864
  dt.TimeOfDay.ToString();//13:30:28.4412864  
  dt.ToString();//2005-11-5 13:47:04
  dt.AddYears(1).ToString();//2006-11-5 13:47:04
  dt.AddDays(1.1).ToString();//2005-11-6 16:11:04
  dt.AddHours(1.1).ToString();//2005-11-5 14:53:04
  dt.AddMilliseconds(1.1).ToString();//2005-11-5 13:47:04
  dt.AddMonths(1).ToString();//2005-12-5 13:47:04
  dt.AddSeconds(1.1).ToString();//2005-11-5 13:47:05
  dt.AddMinutes(1.1).ToString();//2005-11-5 13:48:10
  dt.AddTicks(1000).ToString();//2005-11-5 13:47:04
  dt.CompareTo(dt).ToString();//0
  dt.Add(?).ToString();//问号为一个时间段  
  dt.Equals("2005-11-6 16:11:04").ToString();//False
  dt.Equals(dt).ToString();//True
  dt.GetHashCode().ToString();//1474088234
  dt.GetType().ToString();//System.DateTime
  dt.GetTypeCode().ToString();//DateTime  
  dt.GetDateTimeFormats('s')[0].ToString();//2005-11-05T14:06:25
  dt.GetDateTimeFormats('t')[0].ToString();//14:06
  dt.GetDateTimeFormats('y')[0].ToString();//2005年11月
  dt.GetDateTimeFormats('D')[0].ToString();//2005年11月5日
  dt.GetDateTimeFormats('D')[1].ToString();//2005 11 05
  dt.GetDateTimeFormats('D')[2].ToString();//星期六 2005 11 05
  dt.GetDateTimeFormats('D')[3].ToString();//星期六 2005年11月5日
  dt.GetDateTimeFormats('M')[0].ToString();//11月5日
  dt.GetDateTimeFormats('f')[0].ToString();//2005年11月5日 14:06
  dt.GetDateTimeFormats('g')[0].ToString();//2005-11-5 14:06
  dt.GetDateTimeFormats('r')[0].ToString();//Sat, 05 Nov 2005 14:06:25 GMT  
  string.Format("{0:d}",dt);//2005-11-5
  string.Format("{0:D}",dt);//2005年11月5日
  string.Format("{0:f}",dt);//2005年11月5日 14:23
  string.Format("{0:F}",dt);//2005年11月5日 14:23:23
  string.Format("{0:g}",dt);//2005-11-5 14:23
  string.Format("{0:G}",dt);//2005-11-5 14:23:23
  string.Format("{0:M}",dt);//11月5日
  string.Format("{0:R}",dt);//Sat, 05 Nov 2005 14:23:23 GMT
  string.Format("{0:s}",dt);//2005-11-05T14:23:23
  string.Format("{0:t}",dt);//14:23
  string.Format("{0:T}",dt);//14:23:23
  string.Format("{0:u}",dt);//2005-11-05 14:23:23Z
  string.Format("{0:U}",dt);//2005年11月5日 6:23:23
  string.Format("{0:Y}",dt);//2005年11月
  string.Format("{0}",dt);//2005-11-5 14:23:23
  string.Format("{0:yyyyMMddHHmmssffff}",dt);