C#控制台输出格式的控制

之前遇到需要计算30的阶乘,数值比较大,需要用double类型来存储,但是其输出结果是2.652528598121911E+32,并不能完整输出后面的位数,所以想到要通过设置输出格式来使他完整显示,而不是以科学计数的方式显示。找到了一些方法并记录下来。

C#控制台输出,使用Console.WriteLine()方法进行输出,当遇到需要输出数据类型并需要控制所输出的数据类型时,可以使用以下方法进行编写:

	{N[,M][:Yn]}

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

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

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

1.货币金额格式

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

int a = 12345;

Console.WriteLine("{0:c2}",a);//输出¥12,345.00

2.整数数据格式

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

int a = 12345;

Console.WriteLine("{0:d6}",a);//012345

3.科学计数法格式

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

int a = 12345;

Console.WriteLine("{0:e6}",a); //1.234500e+004

Console.WriteLine("{0:e}",a); //1.234500e+004

4.浮点数据格式

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

int a = 12345;

double d = 12345.55678;

Console.WriteLine("{0:f}",a); //12345.00

Console.WriteLine("{0:f3}",d); //12345.557

5.通用数据格式

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

int a = 12345;

double d = 1345.55678;

Console.WriteLine("{0:g}",a); //结果为12345

Console.WriteLine("{0:g}", d); //结果为1345.55678

Console.WriteLine("{0:g4}", a); //结果为1.235e+04

Console.WriteLine("{0:g4}", d); //结果为1346

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

6.自然数据格式

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

int a = 12345;

double d = 1345.55678;

Console.WriteLine("{0:n}",a); //结果为12,345.00

Console.WriteLine("{0:n}", d); //结果为1,345.56

Console.WriteLine("{0:n3}", a); //结果为12,345.000

Console.WriteLine("{0:n3}", d); //结果为1,345.557

7.十六进制数据格式

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

int a = 123455;

Console.WriteLine("{0:x}",a); //1e23f

Console.WriteLine("{0:x5}", a); //1e23f

Console.WriteLine("{0:x6}", a); //01e23f

Console.WriteLine("{0:x7}", a); //001e23f

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

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

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值