积极答复者
如何格式化对齐输出

问题
答案
全部回复
-
-
还是不行这只是右对齐而已,一样的不整齐啦
47 67 0x43
47 67 0x43
46 67 0x43
47 67 0x43
47 2 0x02
47 2 0x02
62 2 0x02
47 2 0x02
47 2 0x02
47 2 0x02
47 2 0x02
47 2 0x02
47 2 0x02
47 2 0x02
47 2 0x02
63 2 0x02
47 2 0x02
62 2 0x02
47 2 0x02
47 2 0x02
47 3 0x03
47 73 0x49
47 67 0x43
47 67 0x43
63 73 0x49
63 8 0x08 -
你好!
左对齐没有任何问题的,我用你的数据做了测试了:
Console.WriteLine("{0,-10}{1,-10}{2,-10}","47","67","0x43");
Console.WriteLine("{0,-10}{1,-10}{2,-10}", "47", "2", "0x02");
Console.WriteLine("{0,-10}{1,-10}{2,-10}", "47", "73", "0x49");
Console.WriteLine("{0,-10}{1,-10}{2,-10}", "63", "8", "0x08");你的数据无法对其的原因,很可能是你的那些数据中有“空格”,然后给你造成了没有对齐的假象,你检查一下看看。
周雪峰 -
源代码如下:
写的是txt文本文件,realdelay, No(cunt1), IrCode(cunt1),几个变量的最大长度是6
autofileWriter = New StreamWriter(autofilepath) ‘保存文件路径
realdelay = delaytime.ToString ‘realdelay是时间的秒和毫秒转换成的字符串,长度小于6
No(cunt1) ’字符串数组,就是数字序号,最大255
IrCode(cunt1) ’字符串数组,十六进制数,最大255
For cunt1 As Integer = 0 To maxline Step 1
utofileWriter.WriteLine(String.Format("{0,-10}{1,-10}{2,-10}", realdelay, No(cunt1), IrCode(cunt1)))
next
-
你好!
写入文件也是没有问题的,我做了如下测试,可以左对齐:
StreamWriter sw = new StreamWriter(@"D:\a.txt");
sw.WriteLine(String.Format("{0,-10}{1,-10}{2,-10}", "47", "67", "0x43"));
sw.WriteLine(String.Format("{0,-10}{1,-10}{2,-10}", "47", "2", "0x02"));
sw.WriteLine(String.Format("{0,-10}{1,-10}{2,-10}", "47", "73", "0x49"));
sw.WriteLine(String.Format("{0,-10}{1,-10}{2,-10}", "63", "8", "0x08"));我是直接硬编码的测试数据,没有任何问题,所以我还是怀疑你的变量的值,你可以打断点看看那些值,或是直接把那些值输出,看看是否和你期望的一样。
周雪峰 -
我是WriteLine()到一个文件里去了,在屏幕上显示出来确实是对齐的,但是写到文件之后,就不是对齐的
你用什么打开的文件,和显示字体有关系,每个字符不是一样宽度
http://feiyun0112.cnblogs.com/