关键字: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