C#中自定义字符串格式
2018-01-28 20:45
113 查看
一、输出字符串的时候可以按照格式输出,数字的常用格式如下表所示:
下面给出示例:
注意:
1、数字的格式字符串不区分大小写;
2、可以使用 string 类型的 Format 方法指定输出字符串小数点后的位数。
二、自定义字符串格式
使用自定义的字符串格式需要实现接口 IFormattable 接口,该接口只有一个 带两个参数的ToString()方法,一个参数是格式,另一个是 IFormatProvids 接口类型的参数。第二个参数可以为空,实际操作不许理会。
下面给出示例:
下面给出示例:
int a = 23; // 使用 String 类型的 Format 方法可以按照格式输出,并制定小数点之后的位数 string result = string.Format("{0:f3}",a); // result = "23.000" string result1 = string.Format("{0:p1}",a); // result1 = "2300.0%" double b = 3.1415; // # 表示数字站位,数字可用才显示。0 表示零站位,数字不可用显示 0 string result2 = string.Format("{0:##.###}",b); // result = "3.142" string result3 = string.Format("{0:00.000}",b); // result = "03.142"
注意:
1、数字的格式字符串不区分大小写;
2、可以使用 string 类型的 Format 方法指定输出字符串小数点后的位数。
二、自定义字符串格式
使用自定义的字符串格式需要实现接口 IFormattable 接口,该接口只有一个 带两个参数的ToString()方法,一个参数是格式,另一个是 IFormatProvids 接口类型的参数。第二个参数可以为空,实际操作不许理会。
下面给出示例:
// 自定义的一个数据类 public class Format:IFormattable { // 表示姓名的姓氏 public string fName; // 表示姓名的名字 public string lName; // 自定义构造初始化姓名 public Format(string fName,string lName) { this.fName = fName; this.lName = lName; } // 重写基类的 ToString 方法,返回姓名 public override string ToString() { return fName+lName; } // ToString 重载 public string ToString(string format) { return ToString(format,null); } // 实现接口的 ToString 方法来自定义格式 public string ToString(string format,IFormatProvider formatProvider) { switch(format.ToUpper()) { case null: return ToString(); case "F": return fName; case "L": return lName; default: throw new Exception("没有该种类型格式的匹配"); } } }下面给出调用示例:
Format f = new Format("老","胡"); string r0 = f.ToString(); // r0 = "老胡" string r = f.ToString("f"); // r = "老" // String 类型的Format方法会匹配合适的 ToString 方法调用 string r1 = string.Format("{0:f}",f); // r1 = "老" string r2 = string.Format("{0:l}",f); // r1 = "胡"
相关文章推荐
- C# 自定义格式字符串随笔(IFormattable,IFormatProvider,ICustomFormatter三接口的实现)
- C# 自定义格式字符串随笔(IFormattable,IFormatProvider,ICustomFormatter三接口的实现)
- C# 自定义格式字符串随笔(IFormattable,IFormatProvider,ICustomFormatter三接口的实现)
- C# 自定义数字格式字符串 ToString ###,###,###,##0
- C# 自定义数字格式字符串 ToString ###,###,###,##0
- C#中实现自定义格式字符串
- C# 自定义类型通过实现IFormattable接口,来输出指定的格式和语言文化的字符串(例:DateTime)
- IFormattable,IFormatProvider,ICustomFormatter---C#自定义格式字符串
- asp.net c# 自定义字符串显示格式
- C# 自定义格式字符串
- C#自定义数字格式字符串
- C#语言之“string格式的日期时间字符串转为DateTime类型”的方法
- C#把字符串转时间格式
- C#语言之“string格式的日期时间字符串转为DateTime类型”的方法
- C# string格式的日期时间字符串转为DateTime类型
- C#字符串转换为日期时间格式及其错误处理
- C#语言之“string格式的日期时间字符串转为DateTime类型”的方法
- C#语言之“string格式的日期时间字符串转为DateTime类型”的方法
- QT——自定义字符串格式
- C# 自定义格式化字符串说明符