首 页IT知识库收藏内容
当前位置:翔宇亭IT乐园IT知识库C#C#基础

C#控制台输出方法详解

减小字体 增大字体 作者:本站  来源:本站原创  发布时间:2010-05-05 15:42:00

 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控制台输出 - 翔宇亭IT乐园

 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;

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月出版。我个人认为该书质量较高,实例详细,适合学习者参考使用。

本文为自己原创,如需转载请注明出处:翔宇亭IT乐园


本文源自:翔宇亭——IT乐园(http://www.biye5u.com),转载请保留此信息!

微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。

个人成长离不开各位的关注,你的关注就是我继续前行的动力。

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 2 条,得分 185 分,平均 92 分) 查看完整评论
[回复] 2不错   打分:85分  发表时间:2012-04-19
· 非常好,很全面,找了很多,就这个全面
[回复] 1哈商大百分百   打分:100分  发表时间:2010-08-07
· 很详细,很敬业
愿您的精彩评论引起共鸣,带来思考和价值。
用户名: 查看更多评论
分 值:100分 90分 80分 70分 60分 40分 20分
内 容:
验证码:
关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图
本站部分内容来自互联网,如有侵权,请来信告之,谢谢!
Copyright © 2007-2024 biye5u.com. All Rights Reserved.