C#中的String.Format的格式

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

代码

namespace sample3_3StringPut
{
    class Program
    {
        static void Main(string[] args)
        {
            double x = 3456.78;
            string s0 = string.Format("{0,10}:F3",x);
            string s1=string.Format("{0,10:F3}",x);
            Console.WriteLine(s0);
            Console.WriteLine(s1);
            Console.WriteLine("{0,10:F3},{1,10:F3}",x,x);
            Console.ReadKey();
        }
    }
}将输出

  3456.78:F3
  3456.780
  3456.780,  3456.780
再如:

(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

(3)

 代码如下 复制代码

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%


二、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));


<table fw="" photo.html"="" target="_blank" style="color: rgb(68, 68, 68); font-family: Simsun; font-size: 15px; line-height: 26px; width: 474px;">

字符

说明

示例

输出

C货币 string.Format("{0:C3}", 2)$2.000D十进制 string.Format("{0:D3}", 2)002E科学计数法1.20E+0011.20E+001G常规 string.Format("{0:G}", 2)2N用分号隔开的数字 string.Format("{0:N}", 250000)250,000.00X十六进制 string.Format("{0:X000}", 12)C   string.Format("{0:000.000}", 12.2)012.200
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值