专栏首页跟着阿笨一起玩NETC#中格式化数据的输出

C#中格式化数据的输出

格式项都采用如下形式:

{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(PassedDouble 1.42)

Output(PassedInt -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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ASP.NET中DesignMode属性

    参考:http://blog.sina.com.cn/s/blog_4c9da9b50100r4u7.html

    跟着阿笨一起玩NET
  • HOSTS file used by Microsoft TCP/IP for Windows

    win7 修改了hosts总是保存不了。主要是以为没有以管理员的方式打开hosts文件。

    跟着阿笨一起玩NET
  • C# 并发安全集合ConcurrentBag取代List

    跟着阿笨一起玩NET
  • 一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-演示ORM的基本操作

    系统回顾           前面的四篇文章我详细的介绍了AgileEAS.NET平台中统一数据访问(UDA)组件的用法,分析了两种数据处理流程的优缺点,以及基...

    魏琼东
  • 扎根Linux IBM拥抱开源

    为了扩大System Z Linux生态系统,3月12日, IBM宣布全球首个System z云和Linux卓越中心在北京成立。据悉,IBM中国区400多...

    静一
  • 你不得不知道的 MySQL 优化原理(一)

    说起MySQL的查询优化,相信大家收藏了一堆奇淫技巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型….. 你是否真的理解...

    哲洛不闹
  • 怎样对 RPC 进行有效的性能测试

    在 RPC Benchmark Round 1 中 turbo 的成绩一骑绝尘,实力碾压众 rpc 框架。对此,很多人表示不服气,认为作者既是运动员又是裁判员有...

    小老鼠
  • 无人机导航靠视觉识别 成本比GPS低?

    无人机在飞行时一般需要依靠GPS系统来进行导航,不过有些情况GPS信号并不是时刻可用,而且由于GPS信号校准问题都会造成导航不准确。来自墨西哥墨西哥国家天体物理...

    机器人网
  • 最好的 Linux 工具献给老师和学生们

    Linux 是一个适合每个人的平台。如果你有一份合适的工作,Linux 已经可以满足或超过它的需求,其中一个工作是教育。如果你是一名教师或一名学生,Linux ...

    前端博客 : alili.tech
  • Mysql The user specified as a definer ('test'@'%') does not exist

    我们在mysql创建view、trigger、function、procedure、event时都会定义一个Definer=‘xxx’,类似如下:

    二十三年蝉

扫码关注云+社区

领取腾讯云代金券