C#入门及进阶教程|C#基本语法(五):控制台应用程序与格式化输出

目录

控制台应用程序与格式化输出

1.控制台(Console类)

        1.1控制台输出

        1.2控制台输入

        1.3格式输出的一般形式              

        1.4字符串的格式化输出

        1.5日期和时间的格式化输出


控制台应用程序与格式化输出

1.控制台(Console类)

        1.1控制台输出

Console.Write ();
Console.WriteLine();

        1.2控制台输入

Console.ReadKey();        //标准输入流读取用户按下的字符或功能键。
Console.ReadLine();       //从标准输入流读取一行字符。

        1.3格式输出的一般形式              

        格式输出的一般形式为:  {N [, M][: 格式码]},  其中,[ ]:表示其中的内容为可选项。N:从零开始的整数,表示第几个参数。M:可选整数,表示最小长度。若参数N的长度小于M,就用空格填充。如果M为负,则左对齐;如果M为正,则右对齐;如果未指定M,则默认为零。

格式码:可选的格式化代码字符串。

        常用格式码及举例:

格 式 符

含    义

示例:(int i=10;double x=10.5;)

输出结果

C

将数字按照金额形式输出

Console.WriteLine("{0:C}",i);

Console.WriteLine("{0:C}",x);

¥10.00

¥10.50

D

输出十进制整数

Console.WriteLine("{0:D}",i);

Console.WriteLine("{0:D5}",i);

10

00010

F

小数点后固定位数

Console.WriteLine("{0:F}",i);

Console.WriteLine("{0:F4}",x);

10.00

10.5000

0

0占位符,如果数字位数不够指定的占位符位数,则左边补0至占位符位数;如果数字位数超过指定的占位符位数,则按照原数字实际位数原样输出。如果小数部分的位数超出指定的占位符位数,则多余的部分四舍五入。

Console.WriteLine("{0:00000}", 123);

Console.WriteLine("{0:000}", 12345);

Console.WriteLine("{0:0000}", 123.64);

Console.WriteLine("{0:00.00}", 123.6484);

00123

12345

0124

123.65

#

#占位符。对整数部分,去掉数字左边的无效0;对小数部分,按照四舍五入原则处理后,再去掉右边的无效0。如果这个数就是0,而又不想让它显示的时候,#占位符很有用

Console.WriteLine("{0:####}", 123);

Console.WriteLine("{0:####}", 123.64);

Console.WriteLine("{0:####.###}", 123.64);

Console.WriteLine("{0:####.##}", 0);

Console.WriteLine("{0:####.##}", 123.648);

123

124

123.64

123.65

        1.4字符串的格式化输出

        对于字符串来说,可以直接利用格式化输出得到希望的格式,例如:        

string s = string.Format("{0, 30}", ' ');  //s得到的结果为30个空格的字符串
string s1 =string.Format("{0, -20}", "15"); //s1得到的结果为左对齐长度为20的字符串

        常用格式举例:

        1) 在ToString中使用d格式

int i = 12345;
// i.ToString("d")表示将i按照实际整数宽度转换为字符串
string str = i.ToString("d");
Console.WriteLine(str);   //结果12345
// i.ToString("d8")表示将i转换为字符串,宽度为8位,不够8位左边用0填充
string str1 = i.ToString("d8");
Console.WriteLine(str1);  //结果00012345

        2)在string.Format中使用d格式

int i = 123;
// {0,7:d}表示第0个参数,宽度7位,不够7位左边用空格填充,d表示十进制整数
string s1 = string.Format("the value is {0,7:d}",i);
Console.WriteLine(s1);   //结果 the value is 123

        3) 在ToString中使用f格式

double i = 12345.6789;
// f2表示浮点数小数部分为2位,多余部分四舍五入,不够2位时右边补零
string str = i.ToString("f2");
Console.WriteLine(str);   //结果 12345.68
string str1 = i.ToString("f6");
Console.WriteLine(str1);  //结果 12345.678900

        4) 在ToString中使用n格式

double i = 12345.6789;
// n表示整数部分从小数点向左每3位用逗号分隔开,小数部分2位,多余部分四舍五入
string str = i.ToString("n");
Console.WriteLine(str);   //结果 12,345.68
// n4表示整数部分从小数点向左每3位用逗号分隔开,小数部分4位,多余部分四舍五入
string str1 = i.ToString("n4");
Console.WriteLine(str1);  //结果 12,345.6789

        5) 在ToString中使用p格式

double i = 0.126;
// p表示百分数形式
string s = string.Format("the value is {0:p}",i);
Console.WriteLine(s);    //结果 the value is 12.60%
string str = i.ToString("p");
Console.WriteLine(str);   //结果 12.60%

        1.5日期和时间的格式化输出

DateTime dt = new DateTime(2006,5,25);
// yy表示年占两位,M表示月占1位,超出1位按实际位数
// d表示日占1位,超出1位按实际位数
string str = dt.ToString("yy.M.d");
Console.WriteLine(str);   //结果 06.5.25
//yyyy表示年占4位,M表示月占1位,超出1位按实际位数,其他按原字符输出
string str1 = dt.ToString("yyyy年M月");
Console.WriteLine(str1);  //结果 2006年5月

  • 22
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值