C#Format字符串的格式化输出

1.1 格式化输出表

字符

说明

示例

输出

C

货币

string.Format("{0:C3}", 2)

$2.000

D

十进制

string.Format("{0:D3}", 2)

002

E

科学计数法

string.Format(“{0:e}”,1.2)

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

 

eg.数字的格式指定

可以通过往刚才所说的修饰项目中添加几个参数来实现控制数字格式的目的。下表列出了几个常见的例子。

操作格式代码输出
固定宽度右对齐String.Format("{0, 4}", num)“   1”
固定宽度左对齐String.Format("{0, -4}", num)“1   ”
用0填充String.Format("{0:D4}", num)
或者
String.Format("{0:0000}", num)
“0001”
固定宽度并用0填充String.Format("{0, 8:D4}", num)“    0001”

 

1.2 Strings

There really isn't any formatting within a strong, beyond it's alignment. Alignment works for any argument being printed in a String.Format call.

Sample

Generates

String.Format("->{1,10}<-", "Hello");

-> Hello<-

String.Format("->{1,-10}<-", "Hello");

->Hello <-

1.3 Numbers

Basic number formatting specifiers: 

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

Custom number formatting ( Passed Double 1500.42 ) :

Specifier

Type

Example

Output

Note

0

Zero placeholder

{0:00.0000}

1500.4200

Pads with zeroes.

#

Digit placeholder

{0:(#).##}

(1500).42


.

Decimal point

{0:0.0}

1500.4


,

Thousand separator

{0:0,0}

1,500

Must be between two zeroes.

,.

Number scaling

{0:0,.}

2

Comma adjacent to Period scales by 1000.

%

Percent

{0:0%}

150042%

Multiplies by 100, adds % sign.

e

Exponent placeholder

{0:00e+0}

15e+2

Many exponent formats available.

;

Group separator

see below



 

The group separator is especially useful for formatting currency values which require that negative values be enclosed in parentheses. This currency formatting example at the bottom of this document makes it obvious:

1.4 Dates

Note that date formatting is especially dependant on the system's regional settings; the example strings here are from my local locale.

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

 

The 'U' specifier seems broken; that string certainly isn't sortable.

Custom date formatting:

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

Enumerations

Specifier

Type

g

Default (Flag names if available, otherwise decimal)

f

Flags always

d

Integer always

x

Eight digit hex.

本文标题:C#Format字符串的格式化输出
本文链接:https://masoft.cn/post/69.html
作者授权:除特别说明外,本文由 智汇软件 原创编译并授权 ASP.NET、PHP、JAVA开发技术 刊载发布。
版权声明:本文使用「署名 4.0 国际」创作共享协议,转载或使用请遵守署名协议。

本文 暂无 评论

Top

分享:

支付宝

微信