C#核编之格式化编程

一、格式化控制台输入输出

1、 在前面的随笔中,会经常看到诸如{0},{1}之类的标记嵌入在字符串变量中。.NET引入一种字符串格式化的新风格。与C的printf()相似,简而言之,如果需要定义一个字符串字面量,其中包含一些运行时才能知道其值的数值片段,可以使用花括号语法在文本内部指定占位符,在运行时,值会传递到Console.WriteLine()来代替每一个占位符。

注:如果唯一编号的占位符的数量比后面填充的参数数量多,则会抱一个格式异常,如果比填充的参数少,没有使用的参数就会被忽略!

代码如下:

Console.WriteLine("this is {0},that is {1}","apple","banana");

2、在一个字符串中可以重复给定一个占位符(占位符可以是一样的),如果说你是一个甲壳虫乐队的爱好者,想建立一个字符串"9,number 9,number 9"。代码如下:

Console.WriteLine("{0},Number {0},Number {0}","9");

如上代码所示,占位符是可以重复的,当然也不需要按照递增的次序,如下代码就可以说明:

Console.WriteLine("{1},{0},{2}",10,20,30);//输出:20,10,30

二、格式化数值数据

1、在控制台应用程序中用Console.WriteLine()方法来格式化数据

            StringBuilder str = new StringBuilder();
            str.AppendFormat("中国的货币符号是{0:c}", 999);//输出:¥999.00   将目标数值转换成以当地货币形式的数值
            str.AppendFormat("格式化十进制数,用于指定填充值的最小个数{0:d9}",999);// 输出:000000999    {0:d9}--->0代表参数的顺序,d9代表将10进制数的位数设置成9位,不够用0补
            str.AppendFormat("小数点格式化,也用于填充指定值的小数个数{0:f3}", 999.9994);//输出:999.000     {0:f3}--->0代表参数的顺序,f3代表将999的小数位数设置成3位,没有小数的话用0补,多于3位的话,删除多余的位数
            str.AppendFormat("将普通数字转换成指数{0:e}", 999);//输出:9.990000e+002   {0:e}--->0代表参数的顺序,e代表将该数字转换成指数形式
            str.AppendFormat("将普通数字转换成指数{0:n}", 66666666);//输出:66,666,666.00    用于基本的数值格式化(带逗号)
            str.AppendFormat("将普通数字转换成指数{0:x}", 66666666);//输出:3f940aa   将目标数值16进制化
            Console.WriteLine(str);

2、在控制台应用程序之外格式化数值数据

.NET字符串格式化字符不局限与在控制台应用程序中使用,同样的格式化语法可以在调用string.format()使用,如果我们需要对任何应用程序类型(例如桌面GUI程序、ASP.NET WEB应用程序)在运行时组合文本数据,这个方法就很有用。

string.format()返回一个新的字符串对象,修改用户提供的字符串对象和该对象提供的标志进行格式化。代码如下:

string userMessage=string.Format("100000 in hex is  {0:x}",100000);
Console.WriteLine(userMessage);//输出:100000 in hex is 186a0
时间: 2024-10-21 08:41:03

C#核编之格式化编程的相关文章

网络编程之TCP编程

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption

网络编程之UDP编程

网络编程之UDP编程 UDP协议是一种不可靠的网络协议,它在通信的2端各建立一个Socket,但是这个Socket之间并没有虚拟链路,这2个Socket只是发送和接受数据的对象,Java提供了DatagramSocket对象作为基于UDP协议的Socket,使用DatagramPacket代表DatagramSocket发送和接受数据报.值得注意的是:UDP编程必须先由客户端发出信息.一个客户端就是一封信,Socket相当于美国式邮筒(信件的收发都在一个邮筒中).端口与协议相关,所以TCP的30

python网络编程之socket编程

一 客户端/服务器架构 即C/S架构,包括 1.硬件C/S架构(打印机) 2.软件C/S架构(web服务) 美好的愿望: 最常用的软件服务器是 Web 服务器.一台机器里放一些网页或 Web 应用程序,然后启动 服务.这样的服务器的任务就是接受客户的请求,把网页发给客户(如用户计算机上的浏览器),然 后等待下一个客户请求.这些服务启动后的目标就是"永远运行下去".虽然它们不可能实现这样的 目标,但只要没有关机或硬件出错等外力干扰,它们就能运行非常长的一段时间. 生活中的C/S架构: 商

python编程之socket编程基础

python socket编程,首先需要import   socket模块 首先创建一个socket对象 expl = socket.socket(socket.AF_INET,socket.SOCK_STREAM); 其中第一个参数通常为以下 1.socket.AF_INET    通常指IP地址,  2.socket.AF_UNIX   通常指本地域套接字通信. 第二个参数 1.socket.SOCK_STREAM   流式套接字(TCP),    2.socket.SOCK_DGRAM  

python入门编程之mysql编程

python关于mysql方面的连接编程 前提:引入mysql模块MySQLdb,即:MySQL_python-1.2.5-cp27-none-win_amd64.whl 如果要用线程池,则要引用模块 PooledDB import os import MySQLdb # import sys # reload(sys) # sys.setdefaultencoding('utf-8') # 本实例讲的是单连接方式,如果要提高连接的利用率,可以考虑利用线程池:PooledDB,通过 from D

python网络编程之TCP编程

TCP编程 模拟客户端和服务器端进行通信.其中要素为ip地址和端口. 客户端: 建立socket对象,并且设置为TCP模式 用connect()方法设置端口和ip地址,需要传入一个set. 可以进行接受和发送的操作 关闭socket连接 服务器端: 因为一个服务器打开一个固定端口进行监听,但是可能响应不同的客户端,所以可以定义不同的进程序进行处理. 建立socket对象 绑定IP地址和端口 监听 利用进程响应不同的客户端请求,可以发送和接受数据等操作 关闭socket连接 实例: 客户端: im

Windows多媒体编程之MCI编程简介

MCI是Windows下控制多媒体设备的高层接口,在<mmsystem.h>中定义了调用MCI功能的函数和数据类型,它提供了一组与设备无关的API,实现对多媒体设备的控制. 应用程序通过向MCI设备发送命令消息来控制MCI设备. 下面这段代码实现用MCI播放Mp3播放的功能: #include <Windows.h> //要包含的头文件和链接的库. #include <mmsystem.h> #pragma comment(lib,"winmm.lib&quo

C#核编之内建数据类型

这个随笔中的重点之一是说明:C#中所提供的关键字都是相应系统类型的简化符号(如int是System.Int32类型的简化符号) 一.内建数据类型与层级结构 所有的C#内建数据类型都支持默认的构造函数,简而言之,这个特性允许我们使用new关键字来创建变量,他将变量自动设置为其默认值. 1.bool类型设置为false; 2.数值类型设置为0; 3.char类型设置为单个空字符; 4.float设置为0.0: 5.BigInteger变量设置为0: 6.DateTime类型设置为1/1/0001 1

网络编程之socket编程实例

简单实例1 server.c 1 #include <sys/types.h> 2 #include <sys/socket.h> // 包含套接字函数库 3 #include <stdio.h> 4 #include <netinet/in.h> // 包含AF_INET相关结构 5 #include <arpa/inet.h> // 包含AF_INET相关操作的函数 6 #include <unistd.h> 7 #include