关键字:C# string.format
作者:txw1958
原文:http://www.cnblogs.com/txw1958/archive/2012/11/15/csharp-string_format.html
字符串
| 示例 |
输出 |
| String.Format("->{1,10}<-", "Hello"); |
-> Hello<- |
| String.Format("->{1,-10}<-", "Hello"); |
->Hello <- |
数字
基本数字格式示例:
| 字符 |
类型 |
示例 |
输出 |
输出 |
| 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 |
自定义数字格式:
| 字符 |
类型 |
示例 |
输出 (Double 1500.42) |
Note |
| 0 |
Zero placeholder 0占位符 |
{0:00.0000} |
1500.4200 |
Pads with zeroes.用0填充 |
| # |
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 laceholder指数占位符 |
{0:00e+0} |
15e+2 |
Many exponent formats available.许多指数格式可用 |
| ; |
Group separator 群分隔符 |
see below 见下 |
especially useful for formatting currency |
日期
| 字符 |
类型 |
示例(System.DateTime.Now) |
| d |
Short date 短日期 |
10/12/2012 |
| D |
Long date 长日期 |
December 10, 2012 |
| t |
Short time 短时间 |
10:11 PM |
| T |
Long time 长时间 |
10:11:29 PM |
| f |
Full date & time 长日期和短时间 |
December 10, 2012 10:11 PM |
| F |
Full date & time (long) 长日期和长时间 |
December 10, 2012 10:11:29 PM |
| g |
Default date & time 短日期和短时间 |
10/12/2012 10:11 PM |
| G |
Default date & time (long) 短日期和长时间 |
10/12/2012 10:11:29 PM |
| M |
Month day pattern 月日模式 |
December 10 |
| r |
RFC1123 date string RFC1123日期字符串 |
Tue, 10 Dec 2012 22:11:29 GMT |
| s |
Sortable date string 短日期字符串 |
2012-12-10T22:11:29 |
| u |
Universal sortable, local time 通用,本地时间 |
2012-12-10 22:13:50Z |
| U |
Universal sortable, GMT 通用 GMT |
December 11, 2012 3:13:50 AM |
| Y |
Year month pattern 年月模式 |
December, 2012 |
自定义日期格式:
| 字符 |
类型 |
示例 |
输出 |
| 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 12小时制的小时,2位数 |
{0:hh} |
10 |
| HH |
2 digit hour, 24hr format 24 小时制的小时,2位数 |
{0:HH} |
22 |
| mm |
Minute 00-59 分钟,2位数 |
{0:mm} |
38 |
| MM |
Month 01-12 月份数字,2位数 |
{0:MM} |
12 |
| MMM |
Month abbreviation 月份的缩写名称 |
{0:MMM} |
Dec |
| MMMM |
Full month name 月份的完整名称 |
{0:MMMM} |
December |
| ss |
Seconds 00-59 秒,2位数 |
{0:ss} |
46 |
| tt |
AM or PM AM/PM 指示项 |
{0:tt} |
PM |
| yy |
Year, 2 digits 不包含纪元的年份 |
{0:yy} |
02 |
| yyyy |
Year 包括纪元的四位数的年份 |
{0:yyyy} |
2012 |
| zz |
Timezone offset, 2 digits 时区偏移量,2位数 |
{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/2012 |
枚举
| 字符 |
类型 |
| g |
Default (Flag names if available, otherwise decimal) |
| f |
Flags always |
| d |
Integer always |
| x |
Eight digit hex. |
其他
String.Format("{0:$#,##0.00;($#,##0.00);Zero}", value);
负数的时候输出括号,0的时候输出Zero
String.Format("{0:$#,##0.00;($#,##0.00);Zero}", 12345.00)
将输出$12,345.00
String.Format("{0:$#,##0.00;($#,##0.00);Zero}", -12345.00)
将输出($12,345.00)
String.Format("{0:$#,##0.00;($#,##0.00);Zero}", 0.00)
输出zero
String.Format("{0:(###) ###-####}", 18005551212)
输出(1800) 555-1212
