C#显示格式化

  
Console.WriteLine() 还允许用与C 的printf() 函数类似的方式显示格式化的结果。要以这种方式使用WriteLine() ,应传入许多参数。第一个参数是花括号中包含标记的字符串,在这个花括号中,要把后续的参数插入到文本中。每个标记都包含一个基于0 的索引,表示列表中参数的序号。例如,"{0}" 表示列表中的第一个参数,所以下面的代码:
int i = 10;
int j = 20;
Console.WriteLine("{0} plus {1} equals {2}", i, j, i + j);
会显示:
10 plus 20 equals 30
也可以为值指定宽度,调整文本在该宽度中的位置,正值表示右对齐,负值表示左对齐。为此可以使用格式{n,w} ,其中n 是参数索引,w 是宽度值。
int i = 940;
int j = 73;
Console.WriteLine(" {0,4}/n+{1,4}/n ––––/n {2,4}", i, j, i + j);
结果如下:
 940
+ 73
     
 1013
最后,还可以添加一个格式字符串,和一个可选的精度值。这里没有列出格式字符串的完整列表,因为如第8 章所述,我们可以定义自己的格式字符串。但用于预定义类型的主要格式字符串如表2-9 所示。
 
字   符   串
说     明
C
本地货币格式
D
十进制格式,把整数转换为以10 为基数的数,如果给定一个精度说明符,就加上前导0
E
科学计数法( 指数) 格式。精度说明符设置小数位数( 默认为6) 。格式字符串的大小写("e" 或 "E") 确定指数符号的大小写
F
固定点格式,精度说明符设置小数位数,可以为0
G
普通格式,使用E 或 F 格式取决于哪种格式较简单
N
数字格式,用逗号表示千分符,例如32,767.44
P
百分数格式
X
16 进制格式,精度说明符用于加上前导0
 
注意格式字符串都不需要考虑大小写,除e/E 之外。
如果要使用格式字符串,应把它放在给出参数个数和字段宽度的标记后面,并用一个冒号把它们分隔开。例如,要把decimal 值格式化为货币格式,且使用计算机上的地区设置,其精度为两位小数,则使用C2 :
decimal i = 940.23m;
decimal j = 73.7m;
Console.WriteLine(" {0,9:C2}/n+{1,9:C2}/n ––––––/n {2,9:C2}", i, j, i + j);
在美国,其结果是:
   $940.23
+   $73.70
                    
 $1,013.93
最后一个技巧是,可以使用占位符来代替这些格式字符串,例如:
double d = 0.234;
Console.WriteLine("{0:#.00}", d);
其结果为0.23 ,因为如果在符号(#) 的位置上没有字符,就会忽略该符号(#) ,如果0 的位置上有一个字符,就用这个字符代替0 ,否则就显示0 。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值