String.Format用法

一、定义

String.Format是将指定的 String类型的数据中的每个格式项替换为相应对象的值的文本等效项。

如:

 

     (1)

 

string p1 = "Jackie";

string p2 = "Aillo";

Response.Write(String.Format("Hello {0}, I'm {1}", p1, p2));

 

(2)

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  表示  货币

例子:

C 或 c
货币
Console.Write("{0:C}", 2.5);   //$2.50
Console.Write("{0:C}", -2.5); //($2.50)

D 或 d
十进制数
Console.Write("{0:D5}", 25);   //00025

E 或 e
科学型
Console.Write("{0:E}", 250000);   //2.500000E+005

F 或 f
固定点
Console.Write("{0:F2}", 25);   //25.00
Console.Write("{0:F0}", 25);   //25

G 或 g
常规
Console.Write("{0:G}", 2.5);   //2.5

N 或 n
数字
Console.Write("{0:N}", 2500000);   //2,500,000.00

X 或 x
十六进制
Console.Write("{0:X}", 250);   //FA
Console.Write("{0:X}", 0xffff);   //FFFF

 

===========================================================================

 

字符

 

说明

 

示例

 

输出

C货币string.Format("{0:C3}", 2)$2.000
D十进制string.Format("{0:D3}", 2)002
E科学计数法1.20E+0011.20E+001
G常规string.Format("{0:G}", 2)2
N用分号隔开的数字string.Format("{0:N}", 250000)250,000.00
X十六进制string.Format("{0:X000}", 12)C

 

 

 

 

string.Format("{0:000.000}", 12.2)012.200

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值