格式符 | 应 用 | 含 义 | 示 例 |
C | 数字类型 | 专用场合的货币值 | $4834.50 (USA) £4834.50 (UK) |
D | 只用于整数类型 | 一般的整数 | 4834 |
E | 数字类型 | 科学计数法 | 4.834E+003 |
F | 数字类型 | 小数点后的位数固定 | 4384.50 |
G | 数字类型 | 一般的数字 | 4384.5 |
N | 数字类型 | 通常是专用场合的数字 格式 | 4,384.50 (UK/USA) 4 384,50 (欧洲大陆) |
P | 数字类型 | 百分比计数法 | 432,000.00% |
X | 只用于整数类型 | 16进制格式 | 1120 (如果要显示0x1120,需要写上0x) |
字符串格式化,是很常见的,在我们的程序开发中。 string对象之静态方法Format,就是用来进行对象格式化的,定义: public static string Format(string format, object obj); 该方法有多个重载,其工作原理一样,步骤如下:
1、用obj对象去替代format中的格式说明符
2、处理obj的显示(调用其合适的ToString()方法)
a: obj inherits IFormattable , 调用obj的实现IFormattable接口中的带2个参数的ToString()方法
b: 非a,则调用obj.ToString()方法(如果未重写,则直接继承System.Object类的ToString()方法)
IFormattable定义如下:
interface IFormattable
{
string ToString(string format, IFormatProvider formatProvider);
}
3、用户自定义对象的格式化,则需要继承IFormattable接口,实现其带2个参数的ToString()方法即可,format:包含格式 说明符的字符串 formatProvider:文化背景信息,为空时,用的系统设置中指定的文化背景信息