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 | Output |
| c | Currency | {0:c} | $1.42 | -$12,400 |
| d | Decimal (Whole number) | {0:d} | System. | -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. |
| x | Hexadecimal | {0:x4} | System. | 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
轉載于:https://www.cnblogs.com/51net/p/3652204.html
總結
以上是生活随笔為你收集整理的C#中格式化数据的输出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cordic的学习初步
- 下一篇: matlab GUI 初学