格式规范的完整形式:{index [,width][:formatstring]}
index是此格式程序引用的格式字符串之后的参数,从零开始计数;width(可选) 是要设置格式的字段的宽度,width取正数表示结果右对齐,取负数表示结果左对齐;formatstring(可选),包含有关设置类型格式的格式说明。
一.内置类型的字母格式
1. E-科学计数法表示
25000.ToString("E");//结果:2.500000E+004
2. C-货币表示,带有逗号分隔符,默认小数点后保留两位,四舍五入
2.5.ToString("C");//结果:¥ 2.50
3. D-十进制数
25.ToString("D5");//结果:00025
4. F-浮点数,保留小数位数(四舍五入)
25.ToString("F2");//结果:25.00
5. G-常规,保留指定位数的有效数字,四舍五入
2.52.ToString("G2");//结果:2.5
6. N-带有逗号分隔符,默认小数点后保留两位,四舍五入
2500000.ToString("N");//结果:2,500,000.00
7. X-十六进制,非整型将产生格式异常
255.ToString("X");//结果:FF
二. 自定义模式输出
1. “0”描述:占位符,如果可能,填充位
string.Format("{0:000000}",1234);//结果:001234
2. “#”描述:占位符,如果可能,填充位
string.Format("{0:######}",1234);//结果:1234
string.Format("{0:#0####}",1234);//结果:01234
string.Format("{0:0#0####}",1234);//结果:0001234
3. "."描述:小数点
string.Format("{0:000.000}",1234);//结果:1234.000
string.Format("{0:000.000}",4321.12543);//结果:4321.125
4. ","描述:数字分组,也用于增倍器
string.Format("{0:0,0}",1234567);//结果:1,234,567
5. "%"描述:格式为百分数
string.Format("{0:0%}",1234);//结果:123400%
string.Format("{0:#%}", 1234.125);//结果:123413%
string.Format("{0:0.00%}",1234);//结果: 123400.00%
string.Format("{0:#.00%}",1234.125);//结果:123412.50%
6. "abc"描述:显示单引号内的文本
string.Format("{0:'文本'0}",1234);//结果:文本1234
7. "\"描述:用于转移符
string.Format("\"abc!\"");//结果:abc!
8. "@"描述:后跟要打印字符串
string.Format(@""abc!"");//结果:abc!
C# String 前面不足位数补零的方法
int i=10;
方法1:Console.WriteLine(i.ToString("D5"));
方法2:Console.WriteLine(i.ToString().PadLeft(5,'0'));//推荐
方法3:Console.WriteLine(i.ToString("00000"));
在 C# 中可以对字符串使用 PadLeft 和 PadRight 进行轻松地补位。
PadLeft(int totalWidth, char paddingChar) //在字符串左边用 paddingChar 补足 totalWidth 长度
PadLeft(int totalWidth, char paddingChar) //在字符串右边用 paddingChar 补足 totalWidth 长度
示例:
h = h.PadLeft(2, '0');
注意第二个参数为 char 类型,所以用单引号,也可以用 Convert.ToChar(string value) 把字符串转换成 char 类型。如果字符串长度大于 1,则使用 str.ToCharArray()[index]。