C控制台输出方法详解.docx
《C控制台输出方法详解.docx》由会员分享,可在线阅读,更多相关《C控制台输出方法详解.docx(7页珍藏版)》请在冰豆网上搜索。
C控制台输出方法详解
C#控制台输出方法详解
C#控制台输出有两种方法:
Write()和WriteLine(),它们都是命名空间System中Console类的方法,且都具有多达18种或以上的重载形式,能够直接输出C#提供的所有基本数据类型。
其中,Write()方法输出一个或多个值后不换行,即其后没有新行符;而WriteLine()同样是输出一个或多个值,但输出完后换行,即其后有一个新行符。
为了控制输出内容或文本的输出格式,这两种方法提供了较丰富的格式控制方法。
1.基本的数据输出形式
基本数据类型的简单输出形式为:
Console.Write("格式串",参数表);
Console.WriteLine("格式串",参数表);
using System;
class Class1
{
staticvoid 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为第二个,以此类推。
运行结果如下:
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
{
staticvoid 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);
}
}
运行结果如下:
4.日期与时间的格式化输出
格式指定符
名称
格式
d
短日期格式
mm/dd/yy
D
长日期格式
day,month,dd,yyyy
f
完整日期/时间格式(短时间)
day,month,dd,yyyy
hh:
mmAM/PM
F
完整日期/时间格式(长时间)
day,month,dd,yyyyhh:
mm:
ssAM/PM
g
常规日期/时间格式(短时间)
mm/dd/yyyyhh:
mm
G
常规日期/时间格式(长时间)
mm/dd/yyyyhh:
mm:
ss
M或m
月日格式
monthday
R或r
RFC1123格式
ddd,ddmonthyyyyhh:
mm:
ssGMP
s
可排序的日期/时间格式
yyyy-mm-ddhh:
mm:
ss
t
短时间格式
hh:
mmAM/PM
T
长时间格式
hh:
mm:
ssAM/PM
u
通用的可排序日期/时间模式
yyyy-mm-ddhh:
mm:
ss
U
通用的可排序日期/时间格式
day,monthdd,yyyyhh:
mm:
ssAM/PM
下面用示例说明:
using System;
//usingSystem.Globalization;
class Class1
{
staticvoid Main()
{
DateTimedt=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#程序设计教程》一书,该书由电子工业出版社于2007年2月出版。
我个人认为该书质量较高,实例详细,适合学习者参考使用。
(注:
可编辑下载,若有不当之处,请指正,谢谢!
)