原文链接: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. Jenkins的授权和访问控制

    默认的Jenkins不包含任何的安全检查,任何人可以修改Jenkins设置,job和启动build等.显然地在大规模的公司需要多个部门一起协调工作的时候,没有任何安全检查会带来很多的问题. 在系统管理 ...

  2. 选择性卸载eclipse安装过的工具

    我们有时候需要卸载eclipse中之前安装的一些工具,而不想全部删除,那就可以采取下面的方式: 打开eclipse,Help->About Eclipse->Installation De ...

  3. 在Chrome浏览器中保存的密码有多安全?

    本文由 伯乐在线 - 黄利民 翻译.未经许可,禁止转载!英文出处:howtogeek.欢迎加入翻译组. [2013-08-09 更新]:最近又开始讨论“Chrome浏览器明文保存密码这个话题了,国外一 ...

  4. Java访问者模式

    结构对象会遍历它自己所保存的聚集中的所有节点,在本系统中就是节点NodeA和NodeB.首先NodeA会被访问到,这个访问是由以下的操作组成的: (1)NodeA对象的接受方法accept()被调用, ...

  5. vue 单向数据流 & 双向绑定

    在react中是单向数据绑定,而在vue中的特色是双向数据绑定.但是其实就我个人的理解是: 其实无论是vue还是react其实还是提倡单向数据流去管理状态,这一点在vuex和redux状态管理器上体现 ...

  6. [BZOJ3309]DZY Loves Math(莫比乌斯反演+线性筛)

    $\sum\limits_{T=1}^{n}\lfloor\frac{n}{T}\rfloor\lfloor\frac{m}{T}\rfloor\sum\limits_{d|T}f(d)\mu(\fr ...

  7. LOJ P3953 逛公园 NOIP dp 最短路 拓扑排序

    https://www.luogu.org/problemnew/show/P3953 开o2过了不开o2re一个点...写法如题 顺便一提这道题在我校oj是a不了的因为我校土豆服务器速度奇慢1s时限 ...

  8. Android之安全机制

    根据android四大框架来解说安全机制 代码安全 java不同于C/C++,java是解释性语言,存在代码被反编译的隐患: 默认混淆器为proguard,最新版本为4.7: proguard还可用来 ...

  9. lua协程----ngx-lua线程学习笔记

    --[[ - @desc lua数据输出 - @param string 字符串 - return string --]] function dump(v) if not __dump then fu ...

  10. Codeforces Round #354 (Div. 2) A. Nicholas and Permutation 水题

    A. Nicholas and Permutation 题目连接: http://www.codeforces.com/contest/676/problem/A Description Nichol ...