C#中的String.Format方法,wpf中绑定的时候可以参考使用 【转】
版权声明:
本文为博主学习过程中整理发布,如有侵权请告知
更新时间:
2017-08-20 22:06:03
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章
一、定义
String.Format是将指定的 String类型的数据中的每个格式项替换为相应对象的值的文本等效项。如:
string p1 = "Jackie"; string p2 = "Aillo"; Response.Write(String.Format("Hello {0}, I'm {1}", p1, p2)); Response.Write(String.Format("Hello {0}, I'm {1}", "Jackie", "Aillo"));
这二者的效果是一样的。都是将最后面的两项的值分别替换第一项的{0}和{1}。
输出的结果是:Hello Jackie, I'm Aillo
二、String.Format的多格式定义:
这里所谓的多格式是指一个格式项中可以定义1~3个格式参数,每种格式参数用分号(;)隔开。带2个和3个格式参数的格式项所对应的值必须是数值类型的,这样才能判断是否为负数、正数、零。
带1个格式参数:
//以科学计数法的格式输出 double p1 = 1000000; Response.Write(String.Format("{0:E2}", p1));
带2个格式参数:
/*当格式项对应的值为非负数,则选择第一种格式;值为负数则选第二种格式*/ double p1 = 10000; double p2 = -2420.50; Response.Write(String.Format("{0:#,###0.00;#,###0.000;}<BR>", p1)); Response.Write(String.Format("{0:#,###0.00;#,###0.000;}", p2));
带3个格式参数:
/*当格式项对应的值为正数则选择第一张格式; 负数则为第二中格式; 值等于零则为第三种格式*/ 1double p1 = 10000; double p2 = -2420.50; double p3 = 0.00; Response.Write(String.Format("{0:#,###0.00;#,###0.000;#,###0.0000}<BR>", p1)); Response.Write(String.Format("{0:#,###0.00;#,###0.000;#,###0.0000}<BR>", p3)); Response.Write(String.Format("{0:#,###0.00;#,###0.000;#,###0.0000}", p2));
补充:
{0:N2} 中的N3,f3表示格式化之后数据的类型以及小数的位数。如:N2表示带2个小数的数字;
与此类似:
N或者n 表示 数字 F或者f 表示 固定点 E或者e 表示 科学计数法 D或者d 表示 十进制数 X或者x 表示 十六进制 G或者g 表示 常规 C或者c 表示 货币