VinceYuan

Personal Blog

导航

一个关于数字和字符串格式化的示例

Posted on 2007-01-12 11:43  Vince Yuan  阅读(601)  评论(0编辑  收藏  举报
今天看到有人问一个数字和字符串格式化的问题,我把我的解答贴过来。

> 1. 如何把一个 int的对象格式化成3位长度的16进制字符串,不够为数的前面补'0'。
>
>   如: 1 ->"001"  10 -> "00A"  255 -> "0FF"

Console.WriteLine("{0}"10.ToString("X3"));
Console.WriteLine(
"{0,-5:X3}{1,-5:X3}"10255);

Results:
00A(在左面用0补足三位)
00A  0FF  (在右面用空格补足五位)

> 2。如何将一个字符串的后面自动补定长字符。
>   如自动将给"ABC" 转化成5个字符的长度,后面补空格 “ABCD  ”

Console.WriteLine("{0,-5}""ABCD");
Console.WriteLine(
"{0,5}""ABCD");

MSDN里面有详细的说明,但没有提供足够的例子。我在这里稍微解释一下。这一行中:
Console.WriteLine("{0,-5:X3}{1,-5:X3}", 10, 255);
{0,-5:X3}用于格式化,-5代表总共占用5个字符的宽度,不足的补空格,负号代表空格补在右面;X代表16进制显示,3代表总共3个数字,不足的前面补零。