ToString说明

ToString 是 .NET Framework 中主要的格式化方法。它将对象转换为其字符串表现形式,使它适合于显示。(有关对 .NET Framework 中的格式设置支持的更多信息,请参见 格式化类型。)

ToString 方法的默认实现返回 Object的类型的完全限定名,如以下示例所示。

类型通常覆盖 ToString 方法以返回表示对象实例的字符串。例如,基础数据类型(如 CharInt32和 String)提供 ToString 实现该返回对象表示的值的字符串形式。下面的示例定义一个为 Object2 的类,该类重写 ToString 方法以返回类型名称以及其值。

对实现者的说明

当实现您自己的类型时,应重写 ToString 方法,以返回对这些类型有意义的值。需要比 ToString 提供的对格式设置的控制更多控制的派生类应实现 IFormattable 接口。其 IFormattable.ToString(String, IFormatProvider) 方法使您能够定义控制格式设置的格式字符串,并使用可以为区域性特定的格式设置提供的 IFormatProvider对象。

DateTime类型

DateTime.ToString()函数有四个重载。一般用得多的就是不带参数的那个了。殊不知,DateTime.ToString(string format)功能更强大,能输出不同格式的日期。以下把一些情况罗列出来,供大家参考。有些在MSDN上有的就没有列出来了。

1. y代表年份,注意是小写的y,大写的Y并不代表年份。

2. M表示月份。

3. d表示日期,注意D并不代表什么。

4. h或H表示小时,h用的是12小时制,H用的是24小时制。

5. m表示分钟。

6. s表示秒。注意S并不代表什么。

格式 输出 示例
组合使用格式
   年
y 9 string year = DateTime.Now.ToString("y-MM") 
year = "9-05"
yy 09 string year = DateTime.Now.ToString("yy-MM") 
year = "09-05"
yyy或更多的y 2009  string year = DateTime.Now.ToString("yyyy"); 
year="2009"
M 5 string mon = DateTime.Parse("1984-05-09").ToString("yyyy-M") 
mon = "1984-5"
MM 05 string mon = DateTime.Parse("1984-05-09").ToString("MM") 
mon = "05"
MMM 如果是中文版的操作系统,则会输出:五月. 
如果是英文操作系统,则输入月份前三个字母的简写:May
string mon = DateTime.Parse("2006-07-01").ToString("MMM") 英文版操作系统:Jul 中文版操作系统:七月
MMMM或更多的M 如果是中文版的操作系统,则会输出:五月 
如果是英文操作系统,则输入月份的全写
string mon = DateTime.Parse("2006-07-01").ToString("MMM") 
英文版操作系统:July 
中文版操作系统:七月
日期或星期
d 9 string dd= DateTime.Parse("1984-05-09").ToString("d") dd = "9"
dd 09 string dd= DateTime.Parse("1984-05-09").ToString("dd") dd = "09"
ddd 如果是中文版的操作系统,则会输出星期,如星期三 
如果是英文操作系统,则输出星期的简写:如Wed
string dd = DateTime.Parse("2006-07-01").ToString("ddd") 
英文版操作系统:Wed 
中文版操作系统:星期三
dddd或更多的d 如果是中文版的操作系统,则会输出星期,如星期三 
如果是英文操作系统,则输出星期:如Wednesday
string dd = DateTime.Parse("2006-07-01").ToString("ddd")  
英文版操作系统:Wednesday  
中文版操作系统:星期三
小时
h 小时范围:1-12 string hour = DateTime.Now.ToString(“h”); 
hour = "8"
hh或更多的h 小时范围:1-12 string hour = DateTime.Now.ToString(“h”); 
hour = "08"
H 小时范围:0-23 string hour = DateTime.Now.ToString(“yyyy-H”);
hour = "2006-8 "
HH或更多的H 小时范围:0-23 string hour = DateTime.Now.ToString(“yyyy-HH”); 
hour = "2006-08" 
string hour = DateTime.Pare(“2006-7-4 18:00:00”).ToString(“yyyy-HH”); 
hour = "2006-18"
分钟
m 6 string minute =  DateTime.Now.ToString("yyyy-MM-dd-m"); 
minute = "2006-07-01-6";
mm或更多的m 06 string minute =  DateTime.Now.ToString("yyyy-MM-dd-mm"); 
minute = "2006-07-01-06";
s 6 string second =  DateTime.Now.ToString("yyyy-MM-dd-s");  
second = "2006-07-01-6";
ss或更多的s 06 string second =  DateTime.Now.ToString("yyyy-MM-dd-ss");   
second = "2006-07-01-06";
秒后精度
 f 秒的小数精度为一位,其余数字被截断  
 ff 秒的小数精度为两位,其余数字被截断  
 fff 秒的小数精度为三位,其余数字被截断  
 ffff 秒的小数精度为四位,其余数字被截断  
 fffff 秒的小数精度为五位,其余数字被截断  
 ffffff 秒的小数精度为六位,其余数字被截断  
 fffffff 秒的小数精度为七位,其余数字被截断  
时区
 z  时区偏移量("+"或"-"后面仅跟小时。一位数的小时没有前导0)。例如太平洋标准时间是"-8"  
 zz 时区偏移量("+"或"-"后面仅跟小时。一位数的小时有前导0)。例如太平洋标准时间是"-8"  
 zzz 完整时区偏移量("+"或"-"后面跟有小时和分钟)。例如太平洋标准时间是"-08:00"  
上下午
 t  在 AMDesignator 或 PMDesignator 中定义的 AM/PM 指示项的第一个字符(如果存在)。   
 tt

在 AMDesignator 或 PMDesignator 中定义的 AM/PM 指示项(如果存在)

 
其它
 :  TimeSeparator中定义的默认时间分隔符  
 /  在DateSparator中定义的默认日期分隔符  
 %c  其它c是格式模式(如果单独使用)。如果格式模式与字符或其他格式模式合并,则可以省略"%"字符  
 "c  其中c是任意字符。照原义显示字符。  
 以下格式只能单独使用,表示特定的格式
 d  ShortDatePattern  
 D LongDatePattern   
 f  完整日期和时间(长日期和短时间)  
 F  FullDateTimePattern(长日期和长时间)  
 g  常规(短日期和短时间)  
 G  常规(短日期和长时间)  
 m、M MonthDayPattern   
 r、R  RFC1123Pattern  
 s  使用当地时间的 SortableDateTimePattern(基于 ISO 8601)  
 t ShortTimePattern  
 T  LongTimePattern  
 u  UniversalSortableDateTimePattern 用于显示通用时间的格式  
 U  使用通用时间的完整日期和时间(长日期和长时间)  
 y、Y  YearMonthPattern  

int类型

Int.ToString(format):

格式字符串采用以下形式:Axx,其中 A 为格式说明符,指定格式化类型,xx 为精度说明符,控制格式化输出的有效位数或小数位数,具体如下:

格式说明符

符号  说明 示例 输出
C 货币 2.5.ToString("C") ¥2.50
D 十进制数 25.ToString("D5") 00025
E 科学型 25000.ToString("E") 2.500000E+005
F 固定点 25.ToString("F2") 25.00
G 常规 2.5.ToString("G") 2.5
N 数字 2500000.ToString("N") 2,500,000.00
p 百分比 0.25.ToString("P") 25%
r   1.42.ToString("R") 1.42
X 十六进制 255.ToString("X") FF

自定义数字格式字符串

格式符  说明
0       小数左取整 小数右占位 
#       非0时数字占位 
.       小数点 
,       千分隔符 
%      乘以100后加%表示 
\       转义序列 
''      字符串
""      字符串 
;       分割正数负数和零

格式字符串  数据类型  值    输出 
#####       Double    123   123 
00000       Double    123   00123 
(###) ### - #### Double  1234567890   (123) 456 – 7890 
#.##        Double    1.2   1.2 
0.00        Double    1.2   1.20 
00.00       Double    1.2   01.20 
#,#         Double    1234567890      1,234,567,890 
#,,         Double    1234567890      1235 
#,,,        Double    1234567890      1 
#,##0,,     Double    1234567890      1,235 
#0.##%      Double    0.086           8.6% 
0.###E+0    Double    86000           8.6E+4 
0.###E+000  Double    86000           8.6E+004 
0.###E-000  Double    86000           8.6E004 
[##-##-##]  Double    123456          [12-34-56] 
##;(##)     Double    1234            1234 
##;(##)     Double   -1234            (1234)

转载自:http://www.cnblogs.com/mmeroad/archive/2012/03/30/2425133.html

ToString(string format)输出格式简述的更多相关文章

  1. 用DateTime.ToString(string format)输出不同格式的日期

    http://www.cnblogs.com/xvqm00/archive/2009/02/19/1394093.html DateTime.ToString()函数有四个重载.一般用得多的就是不带参 ...

  2. [转]用DateTime.ToString(string format)输出不同格式的日期

    DateTime.ToString()函数有四个重载.一般用得多的就是不带参数的那个了.殊不知,DateTime.ToString(string format)功能更强大,能输出不同格式的日期.以下把 ...

  3. c# string.format和tostring()

    字符 说明 示例 输出 C 货币 string.Format("{0:C3}", 2) $2.000 D 十进制 string.Format("{0:D3}", ...

  4. C# string.Format谨慎使用

    string.Format string.Format在处理文本的时候很有用处,但是在使用占位符的时候一定要注意内容中的特殊字符{}. 示例 string.Format("你好{0},这是{ ...

  5. C#中string.Format()和ToString()格式化方法

    C#数字格式化输出是我们在编程中经常需要处理的事情,那么这里向你介绍了一些C#数字格式化输出的例子,这样就会方便你来选择和比较,什么方式是比较适合自己项目的. int a = 12345678; C# ...

  6. 再探Java基础——String.format(String format, Object… args)的使用

    最近看到类似这样的一些代码:String.format("参数%s不能为空", "birthday"); 以前还没用过这功能不知咐意思,后研究了一下,详细讲解如 ...

  7. java String.Format详解

    JDK1.5中,String类新增了一个很有用的静态方法String.format(): format(Locale l, String format, Object... args) 使用指定的语言 ...

  8. String.Format in Java and C#

    原文:String.Format in Java and C# JDK1.5中,String类新增了一个很有用的静态方法String.format(): format(Locale l, String ...

  9. String.format(String format, Object... args)方法详解

    很多次见到同事使用这个方法,同时看到https://blog.csdn.net/qq_27298687/article/details/68921934这位仁兄写的非常仔细,我也记录一下,好加深印象. ...

随机推荐

  1. Linux虚拟机小问题解决方法系列

    1)使用虚拟机的过程中,会碰到虚拟机占用的空间越来越大的情况,即使删除了虚拟机里的文件,磁盘空间还是似乎还是没有释放,使用“vmware-vdiskmanager”工具解决.解决方法在这里:参考.合并 ...

  2. Radius报文解析(转)

    RADIUS ,是远程认证拨号用户服务的简称.RADIUS原先设计的目的是为拨号用户进行认证和计费.后来经过多次改进,形成了一项通用的认证计费协议,主要完成在网络接入设备和认证服务器之间承载认证.授权 ...

  3. cocoods 出现下面的问题:ERROR: While executing gem ... (Errno::EPERM)

    今天安装cocoods 出现下面的问题:ERROR:  While executing gem ... (Errno::EPERM)     Operation not permitted - /us ...

  4. 在sublime执行自定义脚本

    [背景] 一般项目都会有一个预处理的脚本, 在发布,或者预览效果的时候,往往要先执行脚本. 想法来自editplus 习惯了editplus的同学,都知道,可以配置自定义执行的脚本. 一般我会把它配置 ...

  5. js之对象(经典)

    一.对象的定义: 对象是JavaScript的一个基本数据类型,是一种复合值,它将很多值(原始值或者其他对象)聚合在一起,可通过名字访问这些值.即属性的无序集合. 二.对象的创建(多种方法) 1.对象 ...

  6. Swift,数组

    1.创建(Array)数组(数组内的类型一定要相同,有序的可重复) (1)创建默认值的数组 let array:[Int] array=[Int](repeatElement(3,count:5)) ...

  7. centos7服务器基本的安全设置

    在使用云服务器的过程中经常会遇到很多非法的入侵试图登录服务器,所以我们需要对服务器进行安全防范 关闭ping扫描,虽然没什么卵用 先切换到root echo 1 > /proc/sys/net/ ...

  8. scrapy-splash抓取动态数据例子十四

    一.介绍 本例子用scrapy-splash爬取超级TV网站的资讯信息,输入给定关键字抓取微信资讯信息. 给定关键字:数字:融合:电视 抓取信息内如下: 1.资讯标题 2.资讯链接 3.资讯时间 4. ...

  9. Kafka server.properties配置,集群部署

    server.properties中所有配置参数说明(解释) broker.id =0每一个broker在集群中的唯一表示,要求是正数.当该服务器的IP地址发生改变时,broker.id没有变化,则不 ...

  10. IntelliJ IDEA 控制台中文乱码

    1. 预热 刚刚接触IntelliJ IDEA几天,在易用性方面的确比Eclipse好很多,比较智能,各种插件.工具都已经集成,和Mac OS X类似——开箱即用. 但是还是老大难问题——中文乱码,让 ...