但用的时候要注意,索引不能超出 Args 中的个数,不然会引起异常
如 Format("this is %2:d %0:d",12,13); //error
由于 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]);
好了,第一个总算讲完了,应该对他的应用很熟悉了吧
m_result.Format("您选的城市是:\r\n %s,\r\n 您选的人是:\r\n%s",city1 +
city2 + city3,people);
UpdateData(0);
格式小结:
(1)最常用的格式是%d,含义是以 10 进制形式打印一个整数。
如果输出的整数是负数,则,输出的第一个字符就是‘-’号
(2)%u 格式与%d 格式类似,只不过要求打印无符号 10 进制整数。