加载中…
个人资料
夜雨盛唱
夜雨盛唱
  • 博客等级:
  • 博客积分:0
  • 博客访问:41,531
  • 关注人气:13
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

C# 控制台输出

(2011-08-26 10:34:15)
标签:

杂谈

分类: 科技

C#控制台输出  

 C#控制台输出有两种方法:Write()和WriteLine(),它们都是命名空间System中Console类的方法,且都具有多达18种或以上的重载形式,能够直接输出C#提供的所有基本数据类型。其中,Write()方法输出一个或多个值后不换行,即其后没有新行符;而WriteLine()同样是输出一个或多个值,但输出完后换行,即其后有一个新行符。

为了控制输出内容或文本的输出格式,这两种方法提供了较丰富的格式控制方法。

1.基本的数据输出形式

基本数据类型的简单输出形式为:

Console.Write("格式串",参数表);

Console.WriteLine("格式串",参数表);

using System;

class Class1
       {
             static void Main(string[] args)
             {
                  short  shValue= 23;
                  int  iValue= 7;
                  float  fValue = 25.67f;
                  double  dValue=11.23;
                  char  cValue='f';
                  Console.Write("shValue={0}  ",shValue);
                  Console.WriteLine();   //没有参数,只输出一个换行符,即光标移到下已行进行输出
                  Console.WriteLine("iValue={0},fValue={1}",iValue,fValue);
                  Console.Write("dValue={0}  ",dValue);
                  Console.WriteLine("cValue={0}",cValue);
             }
       }

程序中,{0}和{1}分别代表后面的参数,0为第一个参数,1为第二个,以此类推。

运行结果如下:

C控制台输出 - KingLong - 翔宇亭—KingLongs Blog

2.一般格式化输出

其形式为:

Console.WriteLine(“格式”,对象1,对象2);

如:

{0,-8}   输出第一个参数,且值占8个字符宽度,且为左对齐

{1,8}    输出第一个参数,且值占8个字符宽度,且为右对齐

{1:D7}   作为整数输出第二个参数,域宽为7,用0补齐

{0:E4}   输出以指数表示,且具有4位小数

 

格式字符

说明

注释

示例

示例输出

 C

区域指定的货币格式

 

Console.Write(“{0:C}”,3.1);
Console.Write(“{0:C}”,-3.1);

$3.1
($3.1)

 D

整数,用任意的0填充 

若给定精度指定符,如{0:D5},输出将以前导0填充 

Console.Wirte(“{0:D5}”,31); 

00031 

 E

科学表示 

精度指定符设置小数位数,默认为6位,在小数点前面总是1位数

Console.Write(“{0:E}”,310000);

3.100000E+003 

 F

定点表示 

精度指定符控制小数位数,可接受0

Console.Write(“{0:F2}”,31);
Console.Write(“{0:F0}”,31);

31.00
31

 G

普通表示 

使用E或F格式取决于哪一种是最简捷的 

ConsoleWrite(“{0:G}”,3.1); 

3.1

 N

数字 

产生带有嵌入逗号的值,如3,100,000.00 

Console.Write(“{0:N}”,3100000);

3,100,000.00 

 X

 十六进制数

 精度指定符可以用于前导填充0  Console.Write(“{0:X}”,230);
Console.Write(“{0:X}”,0xffff);
 FA
FFFF

  如果我想显示一个分数格式的数字该怎么办呢?C#还提供了一些特殊格式化的输出形式:

3.特殊格式化形式

 

说明符

说明

0

零占位符,若可能,则填充位

#

空占位符,若可能,则填充位

显示一个句号,用做小数点

,

使用逗号将数字分组

%

将数字显示为百分数,如2.34将显示为:234%

\

转义字符

‘abc’

显示单引号内的文本

“abc”

显示双引号内的文本

下面用一个例子来说明:

using System;

class Class1
      {
         static void Main( )
         {
            int  iValue = 1025;
            float  fValue = 10.25f;
            double dValue = 10.25;
            Console.WriteLine("{0}   {0:000000}",iValue);       //填充0
            Console.WriteLine("{0}   {0:000000}\n",dValue);
            Console.WriteLine("{0}   {0:######}",iValue);       //填充空占位符
            Console.WriteLine("{0}   {0:######}\n",dValue);
            Console.WriteLine("{0}   {0:#,####,#00}",iValue);  //逗号分隔
            Console.WriteLine("{0}   {0:##,###,#00}\n",dValue);
            Console.WriteLine("{0}   {0:0%}",fValue);            //百分号
            Console.WriteLine("{0}   {0:0%}",dValue);
         }
      }

运行结果如下:

C控制台输出 - KingLong - 翔宇亭—KingLongs Blog

 4.日期与时间的格式化输出

 

格式指定符

名称

格式

d

短日期格式

mm/dd/yy

D

长日期格式

day,month,dd,yyyy

f

完整日期/时间格式(短时间)

day,month,dd,yyyy

hh:mm AM/PM

F

完整日期/时间格式(长时间)

day,month,dd,yyyy

hh:mm:ss AM/PM

g

常规日期/时间格式(短时间)

mm/dd/yyyy hh:mm

G

常规日期/时间格式(长时间)

mm/dd/yyyy hh:mm:ss

M或m

月日格式

month day

R或r

RFC1123格式

ddd,dd month yyyy hh:mm:ss GMP

s

可排序的日期/时间格式

yyyy-mm-dd hh:mm:ss

t

短时间格式

hh:mm AM/PM

T

长时间格式

hh:mm:ss AM/PM

u

通用的可排序日期/时间模式

yyyy-mm-dd hh:mm:ss

U

通用的可排序日期/时间格式

day,month dd,yyyy hh:mm:ss AM/PM

下面用示例说明:

using System;
       //using System.Globalization;

class Class1
      {
        static void Main()
        {
          DateTime dt = DateTime.Now;
          Console.WriteLine("d  {0:d}",dt);
          Console.WriteLine("D  {0:D}",dt);
          Console.WriteLine("f  {0:f}",dt);
          Console.WriteLine("F  {0:F}",dt);
          Console.WriteLine("g  {0:g}",dt);
          Console.WriteLine("G  {0:G}",dt);
          Console.WriteLine("m  {0:m}",dt);
          Console.WriteLine("M  {0:M}",dt);
          Console.WriteLine("r  {0:r}",dt);
          Console.WriteLine("R  {0:R}",dt);
          Console.WriteLine("s  {0:s}",dt);
          Console.WriteLine("u  {0:u}",dt);
          Console.WriteLine("U  {0:U}",dt);
        }
     

运行结果如下:

C控制台输出 - KingLong - 翔宇亭—KingLongs Blog

说明:本部分内容参考了刘甲耀和严桂兰编著的《C#程序设计教程》一书,该书由电子工业出版社于2007年2月出版。我个人认为该书质量较高,实例详细,适合学习者参考使用。

本文为自己原创,请勿转载。如需转载请注明出处:翔宇亭—KingLong's Blog

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有