当前位置:首页 > C#学习 > 正文内容

C# ToString() 常用格式总结

小道6年前 (2018-12-18)C#学习4748

c# ToString() 格式化字符串 格式化数值:有时,我们可能需要将数值以一定的格式来呈现,就需要对数值进行格式化。我们使用格式字符串指定格式。

例如:

int i=2;

i.ToString() //”2″

Object o = new Object();

o.ToString(); // 返回对象类型 System.Object

但是ToString也并非就这么简单。因为ToString实现自Object类,而Object类是一切类的基类。其它的类继承自Object,自然也就实现了ToString方法。但是也可以重写ToString方法。这也就衍生了其它的使用。如果我们运用合理的话,将会使我们的开发非常的方便。例如在开发中常用到的:

一.格式化输出:

包含值类型,DateTime,GUID等,ToString()中接受参数,根据参数输出指定格式。

为实现格式化输出,在相关的类型中,重写ToString()为


public string ToString(string format) format 接收的参数,按指定的格式输出。接受参数,如”C”,”D”,”E”,”等.

public string ToString(string format,IFormatProvider provider) format 接收的参数,provider 为语言文化 如zh-CN 表示中文,en-US 表示美国英语


1.值类型,有时我们需要将值类型按照格式化输出,如输出为货币类型,我们只需要在ToString()中指定format为”C”,如果需要输出美元符号,可以将provider指定为en-US,例如

float f = 2000.12f;

f.ToString(“c”, CultureInfo.CreateSpecificCulture(“en-US”)); //输出为$2,000.12


值类型中常用的参数有:


格式化参数
说明
C
货币符号
D
十进制表示,后跟数字表占位符 如25.ToString(“D3”) ; =025

等价于 25.ToString(“000”);

N
易读性数值表示法 ,用逗号分隔大型数值。如

123456.ToString(“N”);  //123,456

P
百分号
X
数值的16进制表示,X后跟数字表示用几位表示16进制。如10.ToString(“X8”); //0000000A
F
指定小数点位置,四舍五入
E
指数表示,后跟数字表示小数点位数
G
数值的一般表示格式,后跟数字为截取数值长度
我们可以用代码测试格式化参数的使用,如下所示:

            string[] formatTypes = { "C", "N", "P", "F2", "E2", "G4" };//数组
            double d = 1234.6789;//双精度浮点数
            foreach (string type in formatTypes)//循环
            {
                Console.WriteLine(string.Format("{0}.ToString(\"{1}\")={2}", d, type, d.ToString(type)));//输出
            }
            Console.ReadKey();//按任意键

输出结果:

image.png

2.DateTime,格式化参数主要用于日期时间的格式化输出。DateTime.Now的默认格式为G。参数有一部分区分大小写。如下所示


使用的代码

            string[] dateTimeTypes = { "d", "D", "f", "F", "g", "G", "m","M", "o", "O",
                    "R","r", "s", "t", "T", "u", "U", "y","Y" };
            foreach (string type in dateTimeTypes)
            {
                Console.WriteLine(string.Format("{0}:{1}", type.PadLeft(2, ' '), DateTime.Now.ToString(type, CultureInfo.CreateSpecificCulture("zh-CN"))));       //设置中国的日期格式
            }
            Console.ReadKey();//按任意键

输出结果:

image.png

3.GUID,GUID为在开发过程中常用来代表唯一标示。在GUID 类型中,格式化参数主要有:

            string[] guidTypes = { "N", "D", "B", "P", "X" };
            foreach (string type in guidTypes)
            {
                Console.WriteLine(string.Format("{0}", Guid.NewGuid().ToString(type).PadLeft(2, ' ')));
            }
            Console.ReadKey();//按任意键

输出结果:

image.png

二.ToString的重写,C#中的任何对象都继承了ToString()方法。在自定义类中如果需要重写ToString()方法,只需要在类中加入:

public override string ToString(){}


而支持格式化参数的ToString()需要继承IFormattable接口,并实现

public string ToString(string format,IFormatProvider provider)方法


扫描二维码推送至手机访问。

版权声明:本文由小道发布,如需转载请注明出处。

本文链接:https://www.daobk.com/post/146.html

分享给朋友:

“C# ToString() 常用格式总结” 的相关文章

while语句:编写聊天机器人,如果问“今天天气怎么样?”则回答天气 ,如果问……,如果说“88”,则“再见”。

while语句:编写聊天机器人,如果问“今天天气怎么样?”则回答天气 ,如果问……,如果说“88”,则“再见”。

while语句:编写聊天机器人,如果问“今天天气怎么样?”则回答天气 ,如果问……,如果说“88”,则“再见”。            Console.WriteLine(&quo...

数组:​从一个整数数组中取出最大的整数。

数组:​从一个整数数组中取出最大的整数。

保存多个值。任意类型都可以声明数组。int[] nums = {5,3,8};//数组可以直接赋值。 int[] nums = new int[3];//也可以先声明数组 不赋值。   &...

函数:给我一个字符串,然后字符串使用我指定的分隔符来进行分割

函数:给我一个字符串,然后字符串使用我指定的分隔符来进行分割

函数就是将一堆代码进行重用的一种机制。函数就是一段代码,这段代码可能有输入的值(参数),可能会返回值。一个函数就像一个专门做这件事的人,我们调用它来做一些事情,它可能需要我们提供一些数据给它,它执行完成后可能会有一些执行结果给我们。要求的数据就叫参数,返回的执行结果就是返回值。有了函数写代码就像拼积...

String类常用函数

String类常用函数

String类常用函数ToLower():得到字符串的小写形式。注意字符串是不可变的,所以这些函数都不会直接改变字符串的内容,而是把修改后的字符串的值通过函数返回值的形式返回。ToUpper():得到字符串的大写形式; Trim()去掉字符串两端的空白。s1.Equals(s2, StringCom...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。