C#中格式化数据的输出

简介: 格式项都采用如下形式: {index[,alignment][:formatString]}      其中"index"指索引占位符,这个肯定都知道; ",alignment"按字面意思显然是对齐方式,以","为标记; ":formatString"就是对输出格式的限定,以":"为标记。

格式项都采用如下形式:

{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+001

1.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

 

 

Specifier

Type

Format

Output
(Passed
Double 1.42)

Output
(Passed
Int -12400)

c

Currency

{0:c}

$1.42

-$12,400

d

Decimal (Whole number)

{0:d}

System.
FormatException

-12400

e

Scientific

{0:e}

1.420000e+000

-1.240000e+004

f

Fixed point

{0:f}

1.42

-12400.00

g

General

{0:g}

1.42

-12400

n

Number with commas for thousands

{0:n}

1.42

-12,400

r

Round trippable

{0:r}

1.42

System.
FormatException

x

Hexadecimal

{0:x4}

System.
FormatException

cf90

 

 

Specifier

Type

Example (Passed System.DateTime.Now)

d

Short date

10/12/2002

D

Long date

December 10, 2002

t

Short time

10:11 PM

T

Long time

10:11:29 PM

f

Full date & time

December 10, 2002 10:11 PM

F

Full date & time (long)

December 10, 2002 10:11:29 PM

g

Default date & time

10/12/2002 10:11 PM

G

Default date & time (long)

10/12/2002 10:11:29 PM

M

Month day pattern

December 10

r

RFC1123 date string

Tue, 10 Dec 2002 22:11:29 GMT

s

Sortable date string

2002-12-10T22:11:29

u

Universal sortable, local time

2002-12-10 22:13:50Z

U

Universal sortable, GMT

December 11, 2002 3:13:50 AM

Y

Year month pattern

December, 2002

 

 

Specifier

Type

Example

Example Output

dd

Day

{0:dd}

10

ddd

Day name

{0:ddd}

Tue

dddd

Full day name

{0:dddd}

Tuesday

f, ff, ...

Second fractions

{0:fff}

932

gg, ...

Era

{0:gg}

A.D.

hh

2 digit hour

{0:hh}

10

HH

2 digit hour, 24hr format

{0:HH}

22

mm

Minute 00-59

{0:mm}

38

MM

Month 01-12

{0:MM}

12

MMM

Month abbreviation

{0:MMM}

Dec

MMMM

Full month name

{0:MMMM}

December

ss

Seconds 00-59

{0:ss}

46

tt

AM or PM

{0:tt}

PM

yy

Year, 2 digits

{0:yy}

02

yyyy

Year

{0:yyyy}

2002

zz

Timezone offset, 2 digits

{0:zz}

-05

zzz

Full 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

目录
相关文章
|
1月前
|
C# 数据库
c# dev Form1 gridview1使用Form2 gridview1的数据
c# dev Form1 gridview1使用Form2 gridview1的数据
|
2月前
|
开发框架 .NET C#
C#数据去重的这几种方式,你知道几种?
C#数据去重的这几种方式,你知道几种?
|
3月前
|
SQL 开发框架 .NET
EntityFramework数据持久化复习资料3、C#拓展方法与yield关键字使用
EntityFramework数据持久化复习资料3、C#拓展方法与yield关键字使用
25 0
|
4月前
|
编译器 数据处理 C#
C#中的异步流:使用IAsyncEnumerable<T>和await foreach实现异步数据迭代
【1月更文挑战第10天】本文介绍了C#中异步流的概念,并通过使用IAsyncEnumerable<T>接口和await foreach语句,详细阐述了如何异步地迭代数据流。异步流为处理大量数据或需要流式处理数据的场景提供了一种高效且非阻塞性的方法,使得开发者能够更优雅地处理并发和数据流问题。
|
4月前
|
存储 数据管理 开发工具
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置相机本身的数据保存(CustomData)功能(C#)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置相机本身的数据保存(CustomData)功能(C#)
31 0
|
5天前
|
XML 存储 开发框架
c#教你网站数据轻松解析抓取,HtmlAgilityPack解析的奇妙之处
c#教你网站数据轻松解析抓取,HtmlAgilityPack解析的奇妙之处
8 0
|
7天前
|
存储 API C#
C# 实现格式化文本导入到Excel
C# 实现格式化文本导入到Excel
|
7天前
|
SQL 存储 开发框架
C# DataSet结合FlyTreeView显示树状模型数据
C# DataSet结合FlyTreeView显示树状模型数据
|
2月前
|
SQL C# 数据库
C# 读取多条数据记录导出到 Word 标签模板
C# 读取多条数据记录导出到 Word 标签模板