定义

格式说明符的语法由3个字段组成:索引号、对齐说明符和格式字段。String.Format和WriteLine都遵守同样的格式化规则。

对齐说明符

对齐说明符表示了字段中字符的最小宽度。对齐说明符有如下特性。

1、对齐说明符是可选的,并且使用逗号和索引号分离。

2、它由一个正整数或负整数组成。

3、整数表示了字段使用字符的最少数量。

4、符号表示了右对齐或左对齐。正数表示右对齐,负数表示左对齐。

5、如果要表示的字符数比说明符中指定的字符数少,那么其余字符会使用空格填充;

6、如果要表示的字符数多于指定的字符数,对齐说明符会被忽略,并且使用所需的字符进行表示。

格式字段

格式字段指定了数字应该以哪种形式表示。例如应当被当做货币、十进制数、还是定点符号来表示。格式字段有3部分。

1、冒号后必须紧跟格式说明符,中间不能有空格。

2、格式说明符是一个字母字符,是9个内置字符格式之一。字符可以是大写或小写形式。大小写对于某些说明符来说比较重要,而对于另外一些说明符来说则不重要。

3、精度说明符是可选的,由1~2位数字组成。它的实际意义取决于格式说明符。  

示例:

标准格式字符串

 字符

说明   示例 输出
C  货币   string.Format("{0:C3}", 2) ¥2.000(英文操作系统结果:$0.20)
D 十进制 string.Format("{0:D3}", 2) 002
F 定点 string.Format{"0:F4",123.123} 123.1230
E

科学计数法

string.Format{"0:E4",0.123456} 1.2346E+001
G 常规 string.Format("{0:G}", 2) 2
X 十六进制 string.Format("{0:X000}", 12) C
N 逗号或空格隔开数字 string.Format("{0:N}", 250000) 250,000.00(默认精度2位)
P 百分比 string.Format{"0:P",0.123456}

12.34%(默认精度2位)

R 往返过程 string.Format{"0:R",0.123456}  0.123456

日期格式化

string.Format("{0:d}",System.DateTime.Now) 结果为:2016-9-18 (注意:月份不是09)

string.Format("{0:D}",System.DateTime.Now) 结果为:2016年9月18日

string.Format("{0:f}",System.DateTime.Now) 结果为:2016年9月18日 18:14

string.Format("{0:F}",System.DateTime.Now) 结果为:2016年9月18日 18:14:26

string.Format("{0:g}",System.DateTime.Now) 结果为:2016-9-18 18:14

string.Format("{0:G}",System.DateTime.Now) 结果为:2016-9-18 18:14:26

string.Format("{0:m}",System.DateTime.Now) 结果为:9月18日

string.Format("{0:t}",System.DateTime.Now) 结果为:18:14

string.Format("{0:T}",System.DateTime.Now) 结果为:18:14:26

类似

string t1 = System.DateTime.Now.ToShortDateString();    t1=2016/9/18
string t2 = System.DateTime.Now.ToShortTimeString();    t2=18:14
string t3 = System.DateTime.Now.ToLongDateString();     t3=2016年9月18日
string t4 = System.DateTime.Now.ToLongTimeString();     t4=18:14:26

【C#】 格式化说明符 string.Format WriteLine的更多相关文章

  1. JS字符串格式化函数 string.format

    原生JS写的仿C#的字符串format函数,在此基础上又增加了便于JS使用的字面量对象参数. 参照C#中的规则,调用的时候会检测字符串格式,如果字符串格式不规范,或者传入的参数为null或undefi ...

  2. java字符串格式化:String.format()方法的使用

    转自:http://kgd1120.iteye.com/blog/1293633 常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的读者应 ...

  3. 我的Android进阶之旅------>Java字符串格式化方法String.format()格式化float型时小数点变成逗号问题

    今天接到一个波兰的客户说有个APP在英文状态下一切运行正常,但是当系统语言切换到波兰语言的时候,程序奔溃了.好吧,又是我来维护. 好吧,先把系统语言切换到波兰语,切换到波兰语的方法查看文章 我的And ...

  4. Java基础(三十五)Math、Random类和数字格式化(String.format方法)

    一.Math类 Math类常用的方法: public static long abs (double a) 返回a的绝对值 public static double max (double a,dou ...

  5. 【转】string.Format对C#字符串格式化

    转自:http://blog.csdn.net/samsone/article/details/7556781 1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) str ...

  6. string.Format格式化用法详解

    1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) string.Format("{0:C}",0.2) 结果为:¥0.20 (英文操作系统结果:$0 ...

  7. string.Format 格式化时间,货币

    1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) string.Format("{0:C}",0.2) 结果为:¥0.20 (英文操作系统结果:$0 ...

  8. C# string.Format格式化时间或货币

    1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) string.Format("{0:C}",0.2) 结果为:¥0.20 (英文操作系统结果:$0 ...

  9. string.Format对C#字符串格式化

    String.Format 方法的几种定义: String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项.Stri ...

随机推荐

  1. nRF52832开发日志--SAADC调试

    今天各种事情比较多.......技术活时间略少,就搞了这一项~ 52832的ADC和之前51822系列还是有蛮大差别的: 1.支持差分输入方式,测量结果为两输入端口电压差的转换的有符号数值,这个功能对 ...

  2. maven创建子项目(适用于多模块管理项目)

    在eclipse或者myeclipse下构建maven项目,该项目由多个子模块组成. 1.创建一个父项目 NEW -->project-->maven-->maven Project ...

  3. Download Free Oracle Reports Building Guide eBook

    A very nice ebook on building reports in Oracle fusion middleware 11g. This manual is intended for a ...

  4. webpack配置命令

    从2015年开始,webpack就是当前最火的构建工具.跟着时代向前走.准没错.我们要追随大神的脚步.走在前端技术栈的前列.大神等等我. 由于webpack是基于nodejs环境下的.所以先安装nod ...

  5. Too Many Connections: How to Increase the MySQL Connection Count To Avoid This Problem

    1.问题描述 在启动使用mysql数据库的项目时,遇到一个报错,如下: Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConn ...

  6. 转:深入浅出UML类图(具体到代码层次)

    深入浅出UML类图 作者:刘伟 ,发布于:2012-11-23,来源:CSDN   在UML 2.0的13种图形中,类图是使用频率最高的UML图之一.Martin Fowler在其著作<UML ...

  7. SCOI2009粉刷匠

    Description windy有 N 条木板需要被粉刷. 每条木板被分为 M 个格子. 每个格子要被刷成红色或蓝色. windy每次粉刷,只能选择一条木板上一段连续的格子,然后涂上一种颜色. 每个 ...

  8. Web开发的发展历史

    了解一下Web开发相关的历史,相关技术的演进历程,知其前世今生,非常有助于加深Web开发相关技术的理解和认识. 下面是对网上几篇相关文章的总结和摘要: 1. Web开发的发展史 对过去的15年来,We ...

  9. MemCache缓存multiget hole详解

    multiget 是什么 multiget 指的是从 memcache(或其他分布式缓存) 一次性获得多个键值,一般由 memcached client 自行实现. multiget hole是什么 ...

  10. HTML5 十大新特性(八)——Web Worker

    由于js是单线程的,所以H5添加了这个叫做webWorker的概念,允许js创建多个线程,但是子线程完全受主线程控制,且不能操作DOM,从而来处理一些比较耗时的操作. 那么如何创建一个子线程呢?通过这 ...