zoukankan      html  css  js  c++  java
  • C#中的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# WinForms多线程编程-摇奖程序
    C#多线程编程实例介绍
    C#多线程编程(1) —— 多线程与UI操作
    C#引用类型与值类型浅析
    HTML中空格占位符的几种方式
    C#中字符串排序的问题和解决方法
    InstanceContextMode和ConcurrencyMode的默认值
    The "IsFileSystemCaseSensitive" parameter is not supported by the "FindConfigFiles" task
    jQuery中delegate() 和 on()的出现版本
    NHibernate 分页优化,针对SQLServer(未深入测试)
  • 原文地址:https://www.cnblogs.com/herizai/p/7119888.html
Copyright © 2011-2022 走看看