C# 输出格式控制符

来源:互联网 发布:java教程博客 编辑:程序博客网 时间:2024/05/16 11:15

.NET有两种格式控制符,一种是标准格式控制符,另一种是用户自定义的。

标准格式的一般形式:

{N[,M][:Yn]}

N表示占位符的序号,0对应第一个变量,1对应第2个变量,依此类推。

[,M]是可选项,M表示输出的变量在控制台中所占据的字符个数。

[:Yn]是可选项。Y是格式化说明符,n为正整数,代表定义数据的精度范围。

 

1.货币金额格式

字符C或c用来组成将数据转换为货币金额格式的字符串。该字符后面的数字表示货币金额数据小数点后保留的数字个数。

int a = 12345;

string str1 = String.Format("{0:c2}",a);//输出¥12,345.00

 

2.整数数据格式

字符D或d用来组成将数据表示为十进制整数数据的格式化字符串,其后面的数字表示数据的位数,如果这个数字小于整数数据的位数,则显示所有的整数位;如果这个数字大于整数数据的位数,则在整数数据的前面用数字“0”补足所有的位数。

int a = 12345;

string str1 = String.Format("{0:d6}",a);//012345

 

3.科学计数法格式

字符E或e用来组成将数据转换为科学计数法形式,其后面的数字用来规定科学计数法表示数据的小数点后数字的个数。如果该字符后面没有数字,则显示7位有效数字。

int a = 12345;

string str1 = String.Format("{0:e6}",a);              //1.234500e+004

string str2 = String.Format("{0:e}",a);         //1.234500e+004

 

4.浮点数据格式

字符F或f用来描述带有小数点的数据的显示形式,该字符后面的数字规定了小数点后的数据位数,如果没有指定数字,则数据默认保留2位小数。如果指定数字大于数据本身小数部分的位数,则在小数部分数字的最后补“0”。

int a = 12345;

double d = 12345.55678;

string str1 = String.Format("{0:f}",a);               //12345.00

string str2 = String.Format("{0:f3}",d);             //12345.557

 

5.通用数据格式

字符G或g用于将数据格式化为最紧凑的字符格式。该种格式符将根据具体的数据决定是用科学计数法表示,还是用定点数据格式或整数数据格式表示更紧凑,并返回更紧凑的一种格式。

int a = 12345;

double d = 1345.55678;

string str1 = String.Format("{0:g}",a);               //结果为12345

string str2 = String.Format("{0:g}", d);              //结果为1345.55678

string str3 = String.Format("{0:g4}", a);             //结果为1.235e+04

string str4 = String.Format("{0:g4}", d);             //结果为1346

其中,g4表示保留4位有效数字。

 

6.自然数据格式

字符N或n用来表示自然数据格式将数据格式化成带逗号和小数点的形式。

int a = 12345;

double d = 1345.55678;

string str1 = String.Format("{0:n}",a);         //结果为12,345.00

string str2 = String.Format("{0:n}", d);              //结果为1,345.56

string str3 = String.Format("{0:n3}", a);     //结果为12,345.000

string str4 = String.Format("{0:n3}", d);     //结果为1,345.557

 

7.十六进制数据格式

字符X或x用于将数据表示为十六进制数据格式,其后面的数字表示格式化数据的数字个数,其规定与整数格式类似。

int a = 123455;

string str1 = String.Format("{0:x}",a);         //1e23f

string str2 = String.Format("{0:x5}", a);             //1e23f

string str3 = String.Format("{0:x6}", a);             //01e23f

string str4 = String.Format("{0:x7}", a);             //001e23f

8.保持精度(来回转换)

将数字从一种格式转换为另一种格式时,可能会降低精度。字符R或r用于将字符串转换为数字,保持其精度。使用该格式说明符后,运行时环境将尽可能保持原有数据的精度

0 0