Console.WriteLine()方法-CSDN博客

97 阅读4分钟

首先先用一个例子:

using System;//导入System命名空间
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1//声明命名空间
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("{0},{1},{2},{1}", "a", "b", "c");
            Console.ReadLine();
        }
    }
}

输出:
a,b,c,d;


其中 Console.WriteLine()函数中{}输出格式详解如下:

格式项都采用如下形式:

{index[,alignment][:formatString]}   

 

其中"index"指索引占位符,这个肯定都知道;

",alignment"按字面意思显然是对齐方式,以","为标记;

":formatString"就是对输出格式的限定,以":"为标记。

 

alignment:可选,是一个带符号的整数,指示首选的格式化字段宽度。如果“对齐”值小于格式化字符串的长度,“对齐”会被忽略,并且使用格式化字符串的长度作为字段宽度。如果“对齐”为正数,字段的格式化数据为右对齐;如果“对齐”为负数,字段的格式化数据为左对齐。如果需要填充,则使用空白。如果指定“对齐”,就需要使用逗号。

 

formatString:由标准或自定义格式说明符组成.

 

下表是从网上得来:

 

字符说明示例输出
C         货币string.Format("{0:C3}", 2)$2.000
D       十进制string.Format("{0:D3}", 2)002
E    科学计数法1.20E+0011.20E+001
G        常规string.Format("{0:G}", 2)2
N 用分号隔开的数字string.Format("{0:N}", 250000)250,000.00
X      十六进制string.Format("{0:X000}", 12)C
  string.Format("{0:000.000}", 12.2)012.200

 

 

SpecifierTypeFormatOutput (Passed Double 1.42)Output (Passed Int -12400)
cCurrency{0:c}$1.42-$12,400
dDecimal (Whole number){0:d}System. FormatException-12400
eScientific{0:e}1.420000e+000-1.240000e+004
fFixed point{0:f}1.42-12400.00
gGeneral{0:g}1.42-12400
nNumber with commas for thousands{0:n}1.42-12,400
rRound trippable{0:r}1.42System. FormatException
xHexadecimal{0:x4}System. FormatExceptioncf90

 

SpecifierTypeExample (Passed System.DateTime.Now)
dShort date10/12/2002
DLong dateDecember 10, 2002
tShort time10:11 PM
TLong time10:11:29 PM
fFull date & timeDecember 10, 2002 10:11 PM
FFull date & time (long)December 10, 2002 10:11:29 PM
gDefault date & time10/12/2002 10:11 PM
GDefault date & time (long)10/12/2002 10:11:29 PM
MMonth day patternDecember 10
rRFC1123 date stringTue, 10 Dec 2002 22:11:29 GMT
sSortable date string2002-12-10T22:11:29
uUniversal sortable, local time2002-12-10 22:13:50Z
UUniversal sortable, GMTDecember 11, 2002 3:13:50 AM
YYear month patternDecember, 2002

 

SpecifierTypeExampleExample Output
ddDay{0:dd}10
dddDay name{0:ddd}Tue
ddddFull day name{0:dddd}Tuesday
f, ff, ...Second fractions{0:fff}932
gg, ...Era{0:gg}A.D.
hh2 digit hour{0:hh}10
HH2 digit hour, 24hr format{0:HH}22
mmMinute 00-59{0:mm}38
MMMonth 01-12{0:MM}12
MMMMonth abbreviation{0:MMM}Dec
MMMMFull month name{0:MMMM}December
ssSeconds 00-59{0:ss}46
ttAM or PM{0:tt}PM
yyYear, 2 digits{0:yy}02
yyyyYear{0:yyyy}2002
zzTimezone offset, 2 digits{0:zz}-05
zzzFull timezone offset{0:zzz}-05:00
:Separator{0:hh:mm:ss}10:43:20
/Separator{0:dd/MM/yyyy}10/12/2002

 

示例:

 // Console.WriteLine 中各种数据格式的输出
Console.WriteLine("{0, 8 :C}", 2);     // $2.00
Console.WriteLine("{0, 8 :C3}", 2);    // $2.000
Console.WriteLine("{0 :D3}", 2);       // 002
Console.WriteLine("{0 :E}", 2);        // 2.000000E+000
Console.WriteLine("{0 :G}", 2);        // 2
Console.WriteLine("{0 :N}", 2500000.00);    // 2,500,00.00
Console.WriteLine("{0 :x4}", 12);      // 000c
Console.WriteLine("{0, 2 :x}", 12);    //  c
Console.WriteLine("{0 :000.000}", 12.23);   // 012.230
Console.WriteLine("{0 :r}", 15.62);    // 15.62
Console.WriteLine("{0 :d}", System.DateTime.Now);    // 2012-3-27
Console.WriteLine("{0 :D}", System.DateTime.Now);    // 2012年3月27日

Console.WriteLine("{0 :t}", System.DateTime.Now);    // 11:43
Console.WriteLine("{0 :T}", System.DateTime.Now);    // 11:43:34

Console.WriteLine("{0 :f}", System.DateTime.Now);    // 2012年3月27日 11:43
Console.WriteLine("{0 :F}", System.DateTime.Now);    // 2012年3月27日 11:43:34

Console.WriteLine("{0 :g}", System.DateTime.Now);    // 2012-3-27 11:43
Console.WriteLine("{0 :G}", System.DateTime.Now);    // 2012-3-27 11:43:34

Console.WriteLine("{0 :M}", System.DateTime.Now);    // 3月27日
Console.WriteLine("{0 :r}", System.DateTime.Now);// Tue, 27 Mar 2012 11:43:34 GMT
Console.WriteLine("{0 :s}", System.DateTime.Now);    // 2012-03-27T11:43:34
Console.WriteLine("{0 :u}", System.DateTime.Now);    // 2012-03-27 11:43:34Z
Console.WriteLine("{0 :U}", System.DateTime.Now);    // 2012年3月27日 3:43:34
Console.WriteLine("{0 :Y}", System.DateTime.Now);    // 2012年3月

Console.WriteLine("{0 :dd}", System.DateTime.Now);   // 27
Console.WriteLine("{0 :ddd}", System.DateTime.Now);  // 二
Console.WriteLine("{0 :dddd}", System.DateTime.Now); // 星期二

Console.WriteLine("{0 :f}", System.DateTime.Now);    // 2012年3月27日 11:46
Console.WriteLine("{0 :ff}", System.DateTime.Now);   // 18
Console.WriteLine("{0 :fff}", System.DateTime.Now);  // 187
Console.WriteLine("{0 :ffff}", System.DateTime.Now); // 1875
Console.WriteLine("{0 :fffff}", System.DateTime.Now); // 18750

Console.WriteLine("{0 :gg}", System.DateTime.Now);   // 公元
Console.WriteLine("{0 :ggg}", System.DateTime.Now);  // 公元
Console.WriteLine("{0 :gggg}", System.DateTime.Now); // 公元
Console.WriteLine("{0 :ggggg}", System.DateTime.Now);     // 公元
Console.WriteLine("{0 :gggggg}", System.DateTime.Now);    // 公元

Console.WriteLine("{0 :hh}", System.DateTime.Now);   // 11
Console.WriteLine("{0 :HH}", System.DateTime.Now);   // 11

Console.WriteLine("{0 :mm}", System.DateTime.Now);   // 50
Console.WriteLine("{0 :MM}", System.DateTime.Now);   // 03

Console.WriteLine("{0 :MMM}", System.DateTime.Now);  // 三月
Console.WriteLine("{0 :MMMM}", System.DateTime.Now); // 三月

Console.WriteLine("{0 :ss}", System.DateTime.Now);   // 43
Console.WriteLine("{0 :tt}", System.DateTime.Now);   // 上午

Console.WriteLine("{0 :yy}", System.DateTime.Now);   // 12
Console.WriteLine("{0 :yyyy}", System.DateTime.Now); // 2012
Console.WriteLine("{0 :zz}", System.DateTime.Now);   // +08
Console.WriteLine("{0 :zzz}", System.DateTime.Now);  // +08:00
Console.WriteLine("{0 :hh:mm:ss}", System.DateTime.Now);  // 11:43:34
Console.WriteLine("{0 :dd/MM/yyyy}", System.DateTime.Now); // 27-03-2012