string.Format
一 功能说明
string.format的功能是可以将字符串中特殊字符进行替换,来达到格式化字符串的功能
二 功能简介
String.Format常用方法定义:
2.1 String.Format(字符串,替换对象) 将指定的 “字符串” 中的格式项({0})替换为指定的 “替换对象”
2.2 String.Format(字符串,替换对象列表)将指定 “字符串” 中的格式项({0}{1} {2} {3})替换为指定数组中相应 “替换对象”
2.3 String.Format(字符串,替换对象,替换对象) 将指定的 “字符串” 中的格式项({0} {1})替换为两个指定的 “替换对象”
2.4 String.Format(字符串,替换对象,替换对象,替换对象,替换对象…) 将指定的 “字符串” 中的格式项替换为多个指定的 “替换对象”
字符 | 类型说明 | 举例说明 | 输出 |
C(c) | 货币 | string.Format(“{0:C3}”, 2) | $2.000 |
D(d) | 十进制 | string.Format(“{0:D3}”, 2) | 002 |
G(g) | 常规 | string.Format(“{0:G}”, 2) | 2 |
N(n) | 用分号隔开的数字 | string.Format(“{0:N}”, 250000) | 250,000.00 |
X(x) | 十六进制 | string.Format(“{0:X000}”, 12) | C |
三 举例说明
3.1 字符串格式化:
string s1 = “maomao365.com”;
string s2 = “linux28.com”;
Response.Write(String.Format(“it is {0},other web is {1}”, s1, s2));
或
Response.Write(String.Format(“it is {0},other web is {1}”, “maomao365.com”, “linux28.com”));
3.2 输出两位小数的字符串
doublue s1 = 23.542;
string express =”数字格式化:{0:0.00}”:
Response.Write(String.Format(express,s1);
3.3 格式化货币
string.Format(“{0:C}”,0.2)
//输出
$0.2
货币四舍五入
string.Format(“{0:C1}”,88.15)
//输出
¥88.2(会自动四舍五入)
3.4 用分号隔开的数字,并指定小数点后的位数
string.Format(“{0:N}”,15200) //结果为:15,200.00 (默认为小数点后面两位)
string.Format(“{0:N3}”,15200.2843) //结果为:15,200.284 (自动四舍五入)
3.5 格式化百分比
string.Format(“{0:P}”, 0.53212) //结果为:53.21% (默认保留百分的两位小数)
string.Format(“{0:P1}”, 0.53252) //结果为:53.3% (自动四舍五入)
3.6 占位符
string.Format(“{0:0000.00}”, 1523.882) //结果为:1523.88
string.Format(“{0:0000.00}”, 345.231) //结果为:0345.23
string.Format(“{0:###.##}”, 1523.882) //结果为:1523.88
string.Format(“{0:####.#}”, 152.3) //结果为:152
3.7 日期格式化
string.Format(“{0:d}”,System.DateTime.Now) //结果为:2015-11-19
string.Format(“{0:D}”,System.DateTime.Now) //结果为:2015年11月19日
string.Format(“{0:f}”,System.DateTime.Now) //结果为:2015年11月19日 18:00
string.Format(“{0:F}”,System.DateTime.Now) //结果为:2015年11月19日 18:00:52
string.Format(“{0:g}”,System.DateTime.Now) //结果为:2015-11-19 18:00
string.Format(“{0:G}”,System.DateTime.Now) //结果为:2015-11-19 18:00:27
string.Format(“{0:m}”,System.DateTime.Now) //结果为:11月19日
string.Format(“{0:t}”,System.DateTime.Now) //结果为:18:00
string.Format(“{0:T}”,System.DateTime.Now) //结果为:18:00:50
3.8 小数点后位数限制
//小数点后 保持两位小数
String.Format(“{0:0.00}”,898.235); // “898.24” (保留两位小数 自动四舍五入)
String.Format(“{0:0.00}”,898.2); // “898.20” (小数位不够,自动在后补零)
String.Format(“{0:0.00}”,898.0); // “898.00” (小数位不够,自动在后补零)
3.9 采用# 占位符 位数不能超过最大,超过最大位数部分 采用四舍五入,不够位数 不进行补位操作,无意义的零值都自动取消
String.Format(“{0:0.##}”,898.235); // “898.24” //位数多余会
String.Format(“{0:0.##}”,898.2); // “898.2”
String.Format(“{0:0.##}”,898.0); // “898”
4.0 小数点前的位数 (多余的位数不会丢弃,少于定义的位数,会被自动在前面补零)
String.Format(“{0:00.0}”,898.235); // “898.2”
String.Format(“{0:00.0}”,98.235); // “98.2”
String.Format(“{0:00.0}”,8.235); // “08.2”
String.Format(“{0:00.0}”,-8.235); // “-08.2”
4.1 千位分隔符
String.Format(“{0:0,0.0}”,78912.32); // “78,912.3”
String.Format(“{0:0,0}”,781234.2); // “781,234”
4.2 零和#的用法 零会采用补齐的方式 #不会采用补齐的方式 ,会舍弃不作用的零
String.Format(“{0:0.0}”,0.0); // “0.0”
String.Format(“{0:0.#}”,0.0); // “0”
String.Format(“{0:#.0}”,0.0); // “.0”
String.Format(“{0:#.#}”,0.0); // “”
4.3 用空格对其数字
String .Format( “{0,10:0.0}”,789123.123); // ” 789123.1″ //前面补空格
String .Format( “{0,-10:0.0}”,789123.123); // “789123.1 ” //后面补空格
String .Format( “{0,10:0.0}”,-789123.123); // ” -789123.1″ //前面补空格
String .Format( “{0,-10:0.0}”,-789123.123); // “-789123.1 ” //后面补空格
四 趣味实验
String .Format( “{0:数字是 0.0}” , 87.6); // “数字是 87.6”
String .Format( “{0:0aaa.bbb0}” , 12.3);