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

03 C# 第二章 数据类型 - 字符串及字符串格式化

2013-01-22 09:37 591 查看
关于字符串 C#本质论中介绍了一些,但关于字符串的格式化输出,书中基本没有介绍,这里整理了网上的一些资料,留着工作中方便参考。

字符串在工作中的使用主要还是基于它的一些属性和函数的,常遇到的问题还是在于处理不同类型的字符串的使用上,例如:日期,货币,数值等等。

C#中字符串的输出格式控制:

与C中printf()函数相似,C#也有格式化输出方法。

语法: System.Console.Write("AAAA {index[,alignment][:format string]} CCC", "BBBBB");

index: 占位符,表示后面的目标字符串 "BBBBB" 将会占据该位置,如果有多个目标字符串时,index值会递增,每个目标字符串就会占据响应的位置。

示例:System.Console.Write("A, {0}, C, {1}, E,{2}", "B", “D”, "F"); ====>输出 A, B, C, D, E, F

其中 B D F 分别占据了 {0}, {1}, {2}的位置。

alignment:可选,指示首选的格式化字段宽度,是一个带符号的整数。有时我们希望输出的不同长度的字符串时能够在格式上对齐,

美观一些。所以在某些字符串长度较短时,就需要用指定的一些字符来补齐,alignment用来指定我们希望的字符的宽度。

示例: Console.WriteLine("{0, 5}", 0);

Console.WriteLine("{0, 5}", 10);

Console.WriteLine("{0, 5}", 100);

输出: _ _ _ _ 0

_ _ _ 1 0

_ _ 1 0 0

format string:可选,指定字符串的输出格式,字符串可以是数值,日期,货币。。。。。。,这里可格式化的东西还挺多的,

在网上找了些其他网友做挺好的例子,放在这留着工作中使用吧。



代码实例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace string_format
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("{0, 5}", 0);
Console.WriteLine("{0, 5}", 10);
Console.WriteLine("{0, 5}", 100);

Console.WriteLine("一般格式化输出");
Console.WriteLine("____________________________________________________");
Console.WriteLine("货币     : {0:C}", 20);
Console.WriteLine("数值     : {0:d3}",2);
Console.WriteLine("科学计数 : {0:e}", 200000);
Console.WriteLine("固定点   : {0:f}", 2.200);
Console.WriteLine("常规     : {0:g}", 20);
Console.WriteLine("逗号分隔 : {0:n}", 2000000);
Console.WriteLine("十六进制 : {0:x}", 20);
Console.WriteLine("");
Console.WriteLine("");

Console.WriteLine("特殊格式化输出");
Console.WriteLine("____________________________________________________");
Console.WriteLine("0填充    : {0:00000}", 8);
Console.WriteLine("0填充    : {0:00000}", 8.8);
Console.WriteLine("空填充   : {0:#####}", 8);
Console.WriteLine("空填充   : {0:#####}", 8.8);
Console.WriteLine("小数点   : {0:###.##}", 8.8);
Console.WriteLine("逗号分隔 : {0:#,#}", 9876);
Console.WriteLine("逗号分隔 : {0:#,####,#00}", 9876.543);
Console.WriteLine("百分号   : {0:0%}", 8.8);
Console.WriteLine("转译符   : \'");
Console.WriteLine(@"@ 逐字字符串字面量  : \\'':#$%^&Sm,c.d<>");
Console.WriteLine(@" start
/\
/  \
/    \
/      \
--------
end ");

Console.WriteLine("");
Console.WriteLine("");

Console.WriteLine("日期格式化输出");
Console.WriteLine("____________________________________________________");
Console.WriteLine("Short Date                      : {0 :d}", System.DateTime.Now);
Console.WriteLine("Long  Date                      : {0 :D}", System.DateTime.Now);
Console.WriteLine("Short Time                      : {0 :t}", System.DateTime.Now);
Console.WriteLine("Long  Time                      : {0 :T}", System.DateTime.Now);
Console.WriteLine("Full date & time short          : {0 :f}", System.DateTime.Now);
Console.WriteLine("Full date & time long           : {0 :F}", System.DateTime.Now);
Console.WriteLine("Default date & time short       : {0 :g}", System.DateTime.Now);
Console.WriteLine("Default date & time long        : {0 :G}", System.DateTime.Now);
Console.WriteLine("Month day pattern               : {0 :M}", System.DateTime.Now);
Console.WriteLine("RFC1123 date string             : {0 :r}", System.DateTime.Now);
Console.WriteLine("Sortable date string            : {0 :s}", System.DateTime.Now);
Console.WriteLine("Universal sortable, local time  : {0 :u}", System.DateTime.Now);
Console.WriteLine("Universal sortable, GMT         : {0 :U}", System.DateTime.Now);
Console.WriteLine("Year month pattern              : {0 :Y}", System.DateTime.Now);

Console.WriteLine("月中的某一天                    : {0 :dd}", System.DateTime.Now);   // 27
Console.WriteLine("星期中的某一天缩写名称          : {0 :ddd}", System.DateTime.Now);  // 二
Console.WriteLine("星期中的某一天                  : {0 :dddd}", System.DateTime.Now); // 星期二

Console.WriteLine("秒的小数部分 精度2位            : {0 :ff}", System.DateTime.Now);   // 18
Console.WriteLine("秒的小数部分 精度3位            : {0 :fff}", System.DateTime.Now);  // 187
Console.WriteLine("秒的小数部分 精度4位            : {0 :ffff}", System.DateTime.Now); // 1875
Console.WriteLine("秒的小数部分 精度5位            : {0 :fffff}", System.DateTime.Now); // 18750
Console.WriteLine("秒的小数部分 精度6位            : {0 :ffffff}", System.DateTime.Now); // 18750
Console.WriteLine("秒的小数部分 精度7位            : {0 :fffffff}", System.DateTime.Now); // 18750
Console.WriteLine("时期或纪元                      : {0 :gg}", System.DateTime.Now);   // A.D.

Console.WriteLine("12 小时制的小时                 : {0 :hh}", System.DateTime.Now);   // 11
Console.WriteLine("24 小时制的小时                 : {0 :HH}", System.DateTime.Now);   // 11

Console.WriteLine("分钟                            : {0 :mm}", System.DateTime.Now);   // 50
Console.WriteLine("月份                            : {0 :MM}", System.DateTime.Now);   // 03

Console.WriteLine("月份(缩写)                      : {0 :MMM}", System.DateTime.Now);  // Jan
Console.WriteLine("月份(全名)                      : {0 :MMMM}", System.DateTime.Now); // Januray

Console.WriteLine("秒                              : {0 :ss}", System.DateTime.Now);   // 43
Console.WriteLine("AM/PM指示项                     : {0 :tt}", System.DateTime.Now);   // AM

Console.WriteLine("不包含纪元的年份                : {0 :yy}", System.DateTime.Now);   // 12
Console.WriteLine("包含纪元的年份                  : {0 :yyyy}", System.DateTime.Now); // 2012
Console.WriteLine("时区偏移量                      : {0 :zz}", System.DateTime.Now);   // +08
Console.WriteLine("完整时区偏移量                  : {0 :zzz}", System.DateTime.Now);  // +08:00
Console.WriteLine("小时:分钟:秒 由冒号分隔         : {0 :hh:mm:ss}", System.DateTime.Now);  // 11:43:34
Console.WriteLine("日/月/年 由斜线分隔             : {0 :dd/MM/yyyy}", System.DateTime.Now); // 27/0/2012
Console.WriteLine("");
Console.WriteLine("");
Console.ReadLine();
}
}
}


测试结果:

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