VC编程使用Format格式化字符串

2011-01-17 20:28:16|?次阅读|上传:wustguangh【已有?条评论】发表评论

关键词:C/C++, 字符处理|来源:唯设编程网

类型讲述完毕,下面介绍格式化Type的指令:

[index ":"] 这个要怎么表达呢,看一个例子

Format("this is %d %d",[12,13]);

其中第一个%d的索引是0,第二个%d是1,所以字符显示的时候是这样:this is 12 13

而如果你这样定义:

Format("this is %1:d %0:d",[12,13]);

那么返回的字符串就变成了:this is 13 12

现在明白了吗,[index ":"] 中的index指示Args中参数显示的顺序。

还有一种情况,如果这样:Format("%d %d %d %0:d %d", [1, 2, 3, 4])

将返回1 2 3 1 2。

如果你想返回的是1 2 3 1 4,必须这样定:

Format("%d %d %d %0:d %3:d", [1, 2, 3, 4])

但用的时候要注意,索引不能超出Args中的个数,不然会引起异常

如Format("this is %2:d %0:d",[12,13]);

由于Args中只有12 13 两个数,所以Index只能是0或1,这里为2就错了

[width] 指定将被格式化的值占的宽度,看一个例子就明白了:

Format("this is %4d",[12]);

输出是:this is 12

这个是比较容易,不过如果Width的值小于参数的长度,则没有效果。

如:Format("this is %1d",[12]);

输出是:this is 12

["-"] 这个指定参数向左齐,和[width]合在一起最可以看到效果:

Format("this is %-4d,yes",[12]);

输出是:this is 12 ,yes

["." prec] 指定精度,对于浮点数效果最佳:

Format("this is %.2f",["1.1234]);

输出 this is 1.12

Format("this is %.7f",["1.1234]);

输了 this is 1.1234000

而对于整型数,如果prec比如整型的位数小,则没有效果;反之比整形值的位数大,则会在整型值的前面以0补之。

Format("this is %.7d",[1234]);

输出是:this is 0001234]

对于字符型,刚好和整型值相反,如果prec比字符串型的长度大,则没有效果,反之比字符串型的长度小,则会截断尾部的字符。

Format("this is %.2s",["1234"]);

输出是 this is 12

而上面说的这个例子:

Format("this is %e",[-2.22]);

返回的是:this is -2.22000000000000E+000

怎么去掉多余的0呢,这个就行啦:

Format("this is %.2e",[-2.22]);

好了,第一个总算讲完了,应该对他的应用很熟悉了吧

发表评论0条 】
网友评论(共?条评论)..
VC编程使用Format格式化字符串