您的位置:首页 > 编程语言 > C#

C# 字符串格式化

2011-08-24 10:05 211 查看
 C# 字符串格式化
1、格式化标识符

        标准的数学格式字符串用于返回通常使用的字符串。它们通常象X0这样的格式。X是格式化标识符,0是精度标识符。格式标识符号共有9种,它们代表了大多数常用的数字格式。就像下表所示:

字母 含义
C或cCurrency 货币格式
D或dDecimal 十进制格式(十进制整数,不要和.Net的Decimal数据类型混淆了)
E或eExponent 指数格式
F或fFixed point 固定精度格式
G或gGeneral 常用格式
N或n用逗号分割千位的数字,比如1234将会被变成1,234
P或pPercentage 百分符号格式
R或rRound-trip  圆整(只用于浮点数)保证一个数字被转化成字符串以后可以再被转回成同样的数字
X或xHex 16进制格式
2、ToString()格式化

C
货币
2.5.ToString("C")
¥2.50
D
十进制数
25.ToString("D5")
00025
E
科学型
25000.ToString("E")
2.500000E+005
F
固定点
25.ToString("F2")
25.00
G
常规
2.5.ToString("G")
2.5
N
数字
2500000.ToString("N")
2,500,000.00
X
十六进制
255.ToString("X")
FF
formatCode 是可选的格式化代码字符串。(详细内容请搜索“格式化字符串”查看)

常用格式举例:

(1) int i=12345;

          string s1 = i.ToString();

          //结果= 12345  
          string s2= i.ToString("d8");

         //结果= 00012345

(2) int i=123;

          double j=123.45;

          string s1=string.Format("the value is {0,7:d}",i);
          //结果= 123

          string s2=string.Format("the value is {0,7:f3}",j);

          //结果= 123.450

(3)double i=12345.6789;

        string s1 = i.ToString("f2");
        //结果= 12345.68

        string s2 = i.ToString("f6");

        //结果= 12345.678900

(4)double i=12345.6789;

        string s1 = i.ToString("n");
        //结果= 12,345.68

        string s2 = i.ToString(“n4”);
        //结果= 12,345.6789

(5)double i=0.126;

        string s = i.ToString("p");
        //结果 12.6%

(6)DateTime dt =new DateTime(2003,5,25);

        string s1 = dt.ToString("yy.M.d");

        //结果 03.5.25

        string s2 = dt.ToString(“yyyy年M月”);

        //结果 2003年5月

       
        Convert.ToDateTime("2005/12/22 22:22:22").ToString("yyyy/MM/dd HH:mm:ss")

        "2005/12/22 22:22:22"

(7) int i=123;

         double j=123.45;

        string s=string.Format("i:{0,-7},j:{1,7}",i,j);

        //-7表示左对齐,占7位

        //结果i:123 ,j: 123.45

 
3、字符转ASCII码
    public static int Asc(string character)

        {

            if (character.Length == 1)

            {

                System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding();

                int intAsciiCode = (int)asciiEncoding.GetBytes(character)[0];

                return (intAsciiCode);

            }

            else

            {

                throw new Exception("数据格式不正确.");

            }

        }

 
3、ASCII码转字符
        public static string Chr(int asciiCode)

        {

            if (asciiCode >= 0 && asciiCode <= 255)

            {

                System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding();

                byte[] byteArray = new byte[] { (byte)asciiCode };

                string strCharacter = asciiEncoding.GetString(byteArray);

                return (strCharacter);

            }

            else

            {

                throw new Exception("数据格式不正确.");

            }

        }

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息