C# String.Format大全
? | ? | ? |
十进制的数字 | ? | ? |
string.Format("{0:D3}",23) | 023 | 格式化十进制的数字 |
string.Format("{0:D2}",1223) | 1223 | 精度说明符指示结果字符串中所需的最少数字个数 |
12345.ToString("n"); | //生成 12,345.00 | 千位分隔,两个小数 |
string.Format("{0:N}", 14200) | 14,200.00 | 默认为小数点后面两位 |
string.Format("{0:N3}", 14200.2458) | 14,200.246 | 自动四舍五入 |
12345.ToString("e"); | //生成 1.234500e+004 | 科学计数法 |
12345.ToString("f4"); | //生成 12345.0000 | 保留小数位 |
12345.ToString(“f”) | ? | 定点 |
12345.ToString("x"); | //生成 3039 (16进制) | HEX 大小写 |
常规”G”和”g” | ? | ? |
12345.ToString("G"); 12345.ToString("g"); | ? | 常规 |
? | ? | ? |
自定义数字格式 | ? | ? |
String.Format("{0:00.0000}",1500.42) | 1500.4200 | 零占位符 |
String.Format("{0:(#).##}",1500.42) | (1500).42 | 数字占位符 |
String.Format("{0:0.0}",1500.42) | 1500.4 | 小数点 |
String.Format("{0:0,0}",1500.42) | 1,500 | ? |
String.Format("{0:0,.}",1500.42) | 2 | ? |
String.Format("{0:0%}",1500.42) | 150042% | 百分数 |
String.Format("{0:00e+0}",1500.42) | 15e+2 | 指数占位符 |
? | ? | ? |
货币 | ? | ? |
12345.ToString("C"); | //生成 ¥12,345.00 | 货币符,千位分隔,两个小数 |
string.Format("{0:C}",0.2) | ¥0.20 | 英文操作系统结果:$0.20 |
string.Format("{0:C1}",23.15) | ¥23.2 | (截取会自动四舍五入) |
string.Format("市场价:{0:C},优惠价{1:C}",23.15,19.82) | ? | 格式化多个Object实例 |
String.Format("{0:¥#,##0.00;(¥#,##0.00);零}", 98005.30) | ¥98,005.30 | 金额,千位分隔符,两个小数 |
String.Format("{0:¥#,##0.00;(¥#,##0.00);零}", -98005.30) | (¥98,005.30) | 金额,千位分隔符,两个小数 |
String.Format("{0:¥#,##0.00;(¥#,##0.00);零}", 0) | 零 | 金额,千位分隔符,两个小数 |
? | ? | ? |
百分比 | ? | ? |
12345.ToString("p"); | //生成 1,234,500.00% | 百分数,千位分隔,两个小数 |
string.Format("{0:P}", 0.24583) | 24.58% | 默认保留百分的两位小数 |
string.Format("{0:P1}", 0.24583) | 24.6% | 自动四舍五入 |
? | ? | ? |
往返过程 |
|
|
Double.ToString(“R”) Double.ToString(“r”) Single.ToString(“R”) Single.ToString(“r”) | ? | 往返过程,适用于Double和Single |
? | ? | ? |
零占位符和数字占位符 |
|
|
string.Format("{0:0000.00}", 12394.039) | 12394.04 | ? |
string.Format("{0:0000.00}", 194.039) | 0194.04 | ? |
string.Format("{0:###.##}", 12394.039) | 12394.04 | ? |
string.Format("{0:####.#}", 194.039) | 194 | ? |
? | ? | ? |
日期时间 | ? | ? |
string.Format("{0:d}",System.DateTime.Now) | 2009-3-20 | 月份位置不是03 |
string.Format("{0:D}",System.DateTime.Now) | 2009年3月20日 | ? |
string.Format("{0:f}",System.DateTime.Now) | 2009年3月20日 15:37 | ? |
string.Format("{0:F}",System.DateTime.Now) | 2009年3月20日 15:37:52 | ? |
string.Format("{0:g}",System.DateTime.Now) | 2009-3-20 15:38 | ? |
string.Format("{0:G}",System.DateTime.Now) | 2009-3-20 15:39:27 | ? |
string.Format("{0:m}",System.DateTime.Now) | 3月20日 | ? |
string.Format("{0:t}",System.DateTime.Now) | 15:41 | ? |
string.Format("{0:T}",System.DateTime.Now) | 15:41:50 | ? |
string.Format("{0:r}",System.DateTime.Now) | Sun, 17 Jun 2012 10:12:56 GMT | RFC1123 日期格式 |
string.Format("{0:s}",System.DateTime.Now) | 2012-06-17T10:15:12 | 排序日期字符串 |
string.Format("{0:Y}",System.DateTime.Now) | 2012年6月 | ? |
string.Format("{0:U}",System.DateTime.Now) | 2012年6月17日 2:19:51 | 通用排序, GMT时间 |
string.Format("{0:u}",System.DateTime.Now) | 2012-06-17 10:19:51Z | 通用排序,本地时间 |
? | ? | ? |
日期时间(自定义) | ? | ? |
{0:dd} | 10 | Day |
{0:ddd} | Tue | Day name |
{0:dddd} | Tuesday | Full day name |
{0:fff} | 932 | 毫秒 |
{0:gg} | A.D. | Era |
{0:hh} | 10 | 2 digit hour |
{0:HH} | 22 | 2 digit hour, 24hr format |
{0:mm} | 38 | Minute 00-59 |
{0:MM} | 12 | Month 01-12 |
{0:MMM} | Dec | Month abbreviation |
{0:MMMM} | December | 月的名字 |
{0:ss} | 46 | 秒数从00到59 |
{0:tt} | PM | AM或PM(上午或下午) |
{0:yy} | 02 | 年(两位数字) |
{0:yyyy} | 2002 | 年 |
{0:zz} | -05 | Timezone offset, 2 digits |
{0:zzz} | -05:00 | Full timezone offset |
{0:hh:mm:ss} | 10:43:20 | Separator |
{0:dd/MM/yyyy} | 10/12/2002 | Separator |
? | ? | ? |
字符串 | ? | ? |
String.Format("->{0,10}<-", "Hello"); | -> Hello<- | 至少10字符,不够前面(正数)补空 |
String.Format("->{0,-10}<-", "Hello") | ->Hello <- | 至少10字符,不够后面(负数)补空 |
? | ? | ? |
电话号码自定义 | ? | ? |
String.Format("{0:(###) ###-####}", 18005551212) | (1800) 555-1212 | ? |
String.Format("{0:(##)####-########}", 86075487870252) | (86)0754-87870252 | ? |
String.Format("{0:(##)####-########}", 086075487870252) | (86)0754-87870252 | ? |
? | ? | ? |
零占位符”0” | ? | ? |
int i=120; | 00,120.00 | ? |
? | ? | ? |
数字占位符”#” | ? | ? |
double d=12050.8520; | 12,050.85 | ? |
? | ? | ? |
? | ? | ? |