原文链接:http://blog.csdn.net/shanyongxu/article/details/46454985

控制台I/O

可以使用Console.ReadLine()方法从控制台中读取一个输入流(用户按回车键停止),并返回输入的字符串,写入控制台也有两个对应的方法.

Console.Write()

Console.WriteLine()

区别是在输出完成之后是否换行.

C#中还需要输出多个参数,占位符

例如:

int i = 10;

int j = 2;

Console.WriteLine("{0} + {1} = {2}",i,j,i+j);

Console.ReadKey();

也可以指定宽度,正值表示左对齐,负值表示右对齐.例如:

int i = 10;

int j = 2;

Console.WriteLine("   {0,4}\n + {1,4}\n----{2,4}\n",i,j,i+j);

Console.ReadKey();

可以添加一个格式字符串以及一个可选的精度值.

字符串

C

本地货币格式

D

十进制格式,把整数转换为以10为基数的数 ,如果给定一个精度说明符 ,就加上前导 0

E

科学计数法(指数)格式。精度说明符设置小数位 鲰 默认为 6 。格式字符串的大小写(e或 F,)确 定指数符号的大小写.

F

固定点格式 ,精 度说明符设置小数位数 ,可 以为 0

G

普通格式 ,使 用 E或 F格 式取决于哪种格式较简单

N

数字格式 ,用 逗号表示干分符 ,例 如⒓%7.佴

P

百分数格式

X

十六进制格式,精度说明符用于加上前导0

出e/E之外格式字符串不需要考虑大小写

如果要使用格式字符串,应把它放在给出参数个数和字符按宽度的标记后面,并用一个冒号把他们分开.

例如将decimal值格式化为画笔个事,且使用计算机上的地区设置,其精度为两位小数,则使用C2:

decimal i = 940.23m;

decimal j = 73.7m;

Console.WriteLine("  {0,9:C2}\n+{1,9:C2}\n    ---------\n   {2,9:C2}\n",i,j,i+j);

Console.ReadKey();

最后一个技巧

使用占位符替换这些格式字符串,例如

double d = 0.234;

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

//Console.WriteLine("{0:0.00}", d);保留两位小数

Console.ReadKey();

其结果为.23,因 为如果在符号(#)的位置上没有字符 ,就会忽略该符号(#),如果在0的位置上有 一 个字符 ,就 用这个字符代替 0,否 则就显示 0。

C#编程(九)----------控制台I/O的更多相关文章

  1. linux网络编程九:splice函数,高效的零拷贝

    from:http://blog.csdn.net/jasonliuvip/article/details/22600569 linux网络编程九:splice函数,高效的零拷贝 最近在看<Li ...

  2. 不为人知的网络编程(九):理论联系实际,全方位深入理解DNS

    本文原作者:selfboot,博客地址:selfboot.cn,Github地址:github.com/selfboot,感谢原作者的技术分享. 1.引言 对于 DNS(Domain Name Sys ...

  3. Linux 网络编程九(select应用--大并发处理)

    //网络编程服务端 /* * 备注:因为客户端代码.辅助方法代码和epoll相同,所以select只展示服务器端代码 */ #include <stdio.h> #include < ...

  4. 面向对象编程(九)——面向对象三大特性之继承以及重写、Object类的介绍

    面向对象三大特性 面向对象三大特征:继承 :封装/隐藏 :多态(为了适应需求的多种变化,使代码变得更加通用!) 封装:主要实现了隐藏细节,对用户提供访问接口,无需关心方法的具体实现. 继承:很好的实现 ...

  5. Socket编程(九)

    此为网络编程的一个系列,后续会把内容补上.....

  6. Winpcap网络编程九之Winpcap实战,ARP协议获得MAC表及主机通信

    大家好,本次我们须要完毕的任务是: 完毕两台主机之间的数据通信(数据链路层) 仿真ARP协议获得网段内主机的MAC表 使用帧完毕两台主机的通信(Hello! I'm -) 声明:本文章的目的是为大家的 ...

  7. C++面向对象高级编程(九)Reference与重载operator new和operator delete

    摘要: 技术在于交流.沟通,转载请注明出处并保持作品的完整性. 一 Reference 引用:之前提及过,他的主要作用就是取别名,与指针很相似,实现也是基于指针. 1.引用必须有初值,且不能引用nul ...

  8. Python并行编程(九):线程通讯queue

    1.基本概念 当线程之间要共享资源或数据的时候,可能变的非常复杂.Python的threading模块提供了很多同步原语,包括信号量,条件变量,事件和锁.如果可以使用这些原语的话,应该优先考虑使用这些 ...

  9. linux网络编程之socket编程(九)

    转眼又快到十一月份了,北京已经是完全进入冬天的节奏,外面冷风嗖嗖的,不过在夜深人静之时,学习永远成了我最快乐的时光,只有此时会觉得自己是如此踏实,虽说白天工作也是编一天程,但是此时的编程,是一种业余爱 ...

  10. scala编程(九)——控制抽象

    减少代码重复 所有的函数都被分割成通用部分,它们在每次函数调用中都相同,以及非通用部分,在不同的函 数调用中可能会变化.通用部分是函数体,而非通用部分必须由参数提供.当你把函数值用做参数时,算法的非通 ...

随机推荐

  1. 20155309南皓芯2016-2017 2《Java程序设计》第一周学习总结

    关于java学习笔记的思考问题 第一章:JDK与JRE,JVM之间有没有必然的联系 第二章:可执行文件夹找到相关链接库 第三章:for与while循环的用法与比较,break与continue跳出的注 ...

  2. Python *args **kw

    当函数的参数不确定时,可以使用*args 和**kwargs,*args 没有key值,**kwargs有key值. *args def fun_var_args(farg, *args): prin ...

  3. activeMQ 持久化配置

    Mac 中安装activeMQ brew install activemq 启动 activemq start 控制台:在浏览器中输入url: http://localhost:8161/ A:持久化 ...

  4. drools7 (三、kmodule 介绍)

    注意几点: 1. kmodule 有默认的加载路径, 看  KieModuleModelImpl 这个类的源代码 public class KieModuleModelImpl implements ...

  5. Java学习(Map接口)

    一.概述: 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图. 1. Collection中的集合,元素是孤立存在的(理解为单身), ...

  6. Spark(十一)Spark分区

    一.分区的概念 分区是RDD内部并行计算的一个计算单元,RDD的数据集在逻辑上被划分为多个分片,每一个分片称为分区,分区的格式决定了并行计算的粒度,而每个分区的数值计算都是在一个任务中进行的,因此任务 ...

  7. IDEA创建Spring Boot项目

    首先安装Spring Boot CLI 先确定自己安装的JDK是1.8版本或者以上,然后下载Srping Boot CLI,Spring Boot CLI下载地址,下载下来是一个压缩包,解压,得到一个 ...

  8. loadrunner日志信息

    日志分两种1.在VUGEN中运行后的日志2.在controller中运行后的日志 日志设置分两步:1.首先,在VUGEN或controller中run-time setting, 选中always s ...

  9. 牛客练习赛1 A - 矩阵

    链接:https://www.nowcoder.com/acm/contest/2/A来源:牛客网 题目描述 给出一个n * m的矩阵.让你从中发现一个最大的正方形.使得这样子的正方形在矩阵中出现了至 ...

  10. CodeForces - 620C Pearls in a Row 贪心 STL

    C. Pearls in a Row time limit per test 2 seconds memory limit per test 256 megabytes input standard ...