今天看到有人问一个数字和字符串格式化的问题,我把我的解答贴过来。
> 1. 如何把一个 int的对象格式化成3位长度的16进制字符串,不够为数的前面补'0'。
>
> 如: 1 ->"001" 10 -> "00A" 255 -> "0FF"
Results:
00A(在左面用0补足三位)
00A 0FF (在右面用空格补足五位)
> 2。如何将一个字符串的后面自动补定长字符。
> 如自动将给"ABC" 转化成5个字符的长度,后面补空格 “ABCD ”
MSDN里面有详细的说明,但没有提供足够的例子。我在这里稍微解释一下。这一行中:
Console.WriteLine("{0,-5:X3}{1,-5:X3}", 10, 255);
{0,-5:X3}用于格式化,-5代表总共占用5个字符的宽度,不足的补空格,负号代表空格补在右面;X代表16进制显示,3代表总共3个数字,不足的前面补零。
> 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}", 10, 255);
Console.WriteLine("{0,-5:X3}{1,-5:X3}", 10, 255);
Results:
00A(在左面用0补足三位)
00A 0FF (在右面用空格补足五位)
> 2。如何将一个字符串的后面自动补定长字符。
> 如自动将给"ABC" 转化成5个字符的长度,后面补空格 “ABCD ”
Console.WriteLine("{0,-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个数字,不足的前面补零。