C#格式化数值结果表
字符 | 说明 | 示例 | 输出 |
C | 货币 | string.Format("{0:000.000}", 12.2) | 012.200 |
字符串
示例 | 输出 |
String.Format("->{1,10}<-", "Hello"); | -> Hello<- |
String.Format("->{1,-10}<-", "Hello"); | ->Hello <- |
数字
基本数字格式示例:
字符 | 类型 | 示例 | 输出(Double 1.42) | 输出(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 |
自定义数字格式:
字符 | 类型 | 示例 | 输出 (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
变量.ToString()
字符型转换 转为字符串 12345.ToString("n"); //生成 12,345.00 12345.ToString("C"); //生成 ¥12,345.00 12345.ToString("e"); //生成 1.234500e+004 12345.ToString("f4"); //生成 12345.0000 12345.ToString("x"); //生成 3039 (16进制) 12345.ToString("p"); //生成 1,234,500.00%